0

我正在使用 datepicker 插件并实现自定义范围。我已经包含了所有相关文件,我的意思是 jquery js 文件、date-picker/date.js、date-picker/daterangepicker.js。

当我将鼠标悬停在开始日历月和结束日历月上时,日期正在更改并显示在默认区域中,但我选择作为开始日期和结束日期的日期最终并没有改变。在 JS 控制台中,它显示TypeError: this.leftCalendar.calendar[row] is undefined.

在 daterangepicker.js(已下载并与原始文件相同)中,我尝试进行调试。

clickDate: function (e) {
 //alert(e);
 var title = $(e.target).attr('title');
 var row = title.substr(1, 1);
 var col = title.substr(3, 1);
 var cal = $(e.target).parents('.calendar');
 //  alert(row);
 if (cal.hasClass('left')) {
    startDate = this.leftCalendar.calendar[row][col];
    // alert(startDate);
    endDate = this.endDate;
    if (typeof this.dateLimit == 'object') {
      var maxDate = new Date(startDate).add(this.dateLimit);
      if (endDate.isAfter(maxDate)) {
          endDate = maxDate;
      }
    }
    this.element.trigger('clicked', {
        dir: 'left',
        picker: this
    });
  }
  ........
  ........

如果我尝试打印efirst的值,row那么它会显示两者的正确值。但是,如果我打印 first 的值,row那么它现在正在显示。它在警报框中打印空白,在 js 控制台中显示TypeError: this.leftCalendar.calendar[row] is undefined.

请向我建议是什么问题。

更新

如果我尝试打印,startDate则显示以下错误(显然 alert(e) 已启用):

Error: NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument arg 0 [nsIDOMWindow.alert]
Source File: http://localhost/../js/date-picker/daterangepicker.js
Line: 456

在第 456 行,我只是在打印alert(startDate);.

4

0 回答 0