我正在使用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
});
}
........
........
如果我首先尝试打印e
的值,然后row
,则会显示两者的正确值。但是,如果我首先打印row
的值,那么它现在正在显示。它在警告框中打印空白,在js控制台中显示TypeError: this.leftCalendar.calendar[row] is undefined
。
请告诉我这是什么问题。
已更新
如果我尝试打印startDate
,那么它会显示以下错误(显然警报(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);
。