如何在HTML中使用Angular Js获取Hijiri日期选择器

如何在HTML中使用Angular Js获取Hijiri日期选择器,html,angularjs,Html,Angularjs,我使用javascript获取Hijiri日期,但我想使用angularJS编写Hijiri日期, 我想为hijiri日期创建角度指令 这是我用来获取Hijiri日期的javascript代码,如何将其转换为angular并创建指令 <script type="text/javascript"> var cal1 = new Calendar(), cal2 = new Calendar(true, 0, false, true), date1 = docu

我使用javascript获取Hijiri日期,但我想使用angularJS编写Hijiri日期, 我想为hijiri日期创建角度指令

这是我用来获取Hijiri日期的javascript代码,如何将其转换为angular并创建指令

<script type="text/javascript">

    var cal1 = new Calendar(),
    cal2 = new Calendar(true, 0, false, true),
    date1 = document.getElementById('date-1'),
    date2 = document.getElementById('date-2'),
    cal1Mode = cal1.isHijriMode(),
    cal2Mode = cal2.isHijriMode();

    document.getElementById('cal-1').appendChild(cal1.getElement());
    document.getElementById('cal-2').appendChild(cal2.getElement());
    cal1.hide();
    cal2.hide();
    setDateFields();

    cal1.callback = function () {
        if (cal1Mode !== cal1.isHijriMode()) {
            cal2.disableCallback(true);
            cal2.changeDateMode();
            cal2.disableCallback(false);
            cal1Mode = cal1.isHijriMode();
            cal2Mode = cal2.isHijriMode();
        }
        else
            cal2.setTime(cal1.getTime());
        setDateFields();
    };

    cal2.callback = function () {
        if (cal2Mode !== cal2.isHijriMode()) {
            cal1.disableCallback(true);
            cal1.changeDateMode();
            cal1.disableCallback(false);
            cal1Mode = cal1.isHijriMode();
            cal2Mode = cal2.isHijriMode();
        }
        else
            cal1.setTime(cal2.getTime());
        setDateFields();
    };

    function setDateFields() {
        date1.value = cal1.getDate().getDateString();
        date2.value = cal2.getDate().getDateString();
    }

    function showCal1() {
        if (cal1.isHidden()) cal1.show();
        else cal1.hide();
    }

    function showCal2() {
        if (cal2.isHidden()) cal2.show();
        else cal2.hide();
    }

</script>

var cal1=新日历(),
cal2=新日历(真、0、假、真),
date1=document.getElementById('date-1'),
date2=document.getElementById('date-2'),
cal1Mode=cal1.isHijriMode(),
cal2Mode=cal2.isHijriMode();
document.getElementById('cal-1').appendChild(cal1.getElement());
document.getElementById('cal-2').appendChild(cal2.getElement());
cal1.hide();
cal2.hide();
setDateFields();
cal1.callback=函数(){
if(cal1Mode!==cal1.isHijriMode()){
cal2.disableCallback(true);
cal2.changeDateMode();
cal2.disableCallback(false);
cal1Mode=cal1.isHijriMode();
cal2Mode=cal2.isHijriMode();
}
其他的
cal2.setTime(cal1.getTime());
setDateFields();
};
cal2.callback=函数(){
if(cal2Mode!==cal2.isHijriMode()){
cal1.disableCallback(true);
cal1.changeDateMode();
cal1.disableCallback(false);
cal1Mode=cal1.isHijriMode();
cal2Mode=cal2.isHijriMode();
}
其他的
cal1.setTime(cal2.getTime());
setDateFields();
};
函数setDateFields(){
date1.value=cal1.getDate().getDateString();
date2.value=cal2.getDate().getDateString();
}
函数showCal1(){
如果(cal1.ishiden())cal1.show();
else计算1.hide();
}
函数showCal2(){
如果(cal2.ishiden())cal2.show();
else计算2.hide();
}
html


您可以使用瞬间hijri()与您正在做的事情相比,它既简单又容易

npm install moment-hijri
然后像这样使用它:

var moment = require('moment-hijri');
moment().format('iYYYY/iM/iD');

仅供参考:在Hijri中使用keith wood日历选择器要比这种方法简单得多。
var moment = require('moment-hijri');
moment().format('iYYYY/iM/iD');