Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用其他语言时启动日期选择器错误:未捕获类型错误:无法读取未定义的属性“length”_Javascript_Jquery_Jquery Ui_Bootstrap Datepicker - Fatal编程技术网

Javascript 使用其他语言时启动日期选择器错误:未捕获类型错误:无法读取未定义的属性“length”

Javascript 使用其他语言时启动日期选择器错误:未捕获类型错误:无法读取未定义的属性“length”,javascript,jquery,jquery-ui,bootstrap-datepicker,Javascript,Jquery,Jquery Ui,Bootstrap Datepicker,我正在使用Bootstrap的日期选择器。当使用不带language属性的datepicker时,它可以工作,但当我尝试指定语言sv时,它会失败,并显示消息,即当尝试在小部件中选择日期时: 未捕获的TypeError:无法读取未定义的属性“length” 以下是我正在使用的版本: jqueryv1.8.3 jQueryUI1.8.22 Boostrap 2.3.1 从调试器来看,这似乎是导致Datetimepicker.prototype崩溃的代码,该行带有p:: formatDate:

我正在使用Bootstrap的日期选择器。当使用不带language属性的datepicker时,它可以工作,但当我尝试指定语言sv时,它会失败,并显示消息,即当尝试在小部件中选择日期时:

未捕获的TypeError:无法读取未定义的属性“length”

以下是我正在使用的版本:

jqueryv1.8.3

jQueryUI1.8.22

Boostrap 2.3.1

从调试器来看,这似乎是导致Datetimepicker.prototype崩溃的代码,该行带有p::

    formatDate:       function (date, format, language, type) {
        if (date == null) {
            return '';
        }
        var val;
        if (type == 'standard') {
            val = {
                // year
                yy:   date.getUTCFullYear().toString().substring(2),
                yyyy: date.getUTCFullYear(),
                // month
                m:    date.getUTCMonth() + 1,
                M:    dates[language].monthsShort[date.getUTCMonth()],
                MM:   dates[language].months[date.getUTCMonth()],
                // day
                d:    date.getUTCDate(),
                D:    dates[language].daysShort[date.getUTCDay()],
                DD:   dates[language].days[date.getUTCDay()],
                p:    (dates[language].meridiem.length == 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''),
                // hour
                h:    date.getUTCHours(),
                // minute
                i:    date.getUTCMinutes(),
                // second
                s:    date.getUTCSeconds()
            };
这导致:

 $.fn.datetimepicker.dates['sv'] = {
        days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"],
        daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
        daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö"],
        months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
        monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
        today: "Idag",
        clear: "Rensa"
    };

    var dates = $('#date-picker input[name=from_date], .facet-container input[name=to_date]').datetimepicker({
        format: 'yyyy-mm-dd',
        autoclose:'true',
        weekStart: 1,
        language:'sv',
        todayBtn:'true',
        pickerPosition:'bottom-left',
        minView:'month'
    }).on('changeDate', function(ev){
    });

可能是什么问题?

这解决了它,即必须添加meridiem属性:

      $.fn.datetimepicker.dates['sv'] = {
        days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"],
        daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
        daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö"],
        months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
        monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
        meridiem: '',
        today: "Idag",
        clear: "Rensa"
    };

工作就像一种魅力!
      $.fn.datetimepicker.dates['sv'] = {
        days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"],
        daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
        daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö"],
        months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
        monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
        meridiem: '',
        today: "Idag",
        clear: "Rensa"
    };