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
    });
  }
  ........
  ........

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);います.

4

0 に答える 0