カスタム範囲をプラグインして実装する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);
います.