ユーザーが日付範囲を選択できるように、2 つの日付ピッカーを接続しようとしています。
次のようなコードを作成しました。
$(function() {
var dates = $("#fromDate, #toDate").datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
minDate: new Date(2010, 2 - 1, 2),
onSelect: function(selectedDate) {
var option = this.id == "fromDate" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
});
これは正常に動作しますが、奇妙なエラーが発生します。最初の入力を使用して日付を選択すると、日付ピッカーが 2 番目の日付を表示します。onSelect 関数は、2 番目の日付ピッカーに基づいて何らかの日付を設定すると思います。
最初の日付ピッカーの日付が 2 番目と同じ月の場合、このエラーは表示されません。
この動作を再現する方法:
- 最初の日付ピッカーで「2010-02-05」を選択します(2番目の月と年のフィールドの日付をクリックした後、2番目の日付ピッカーから月と年に変更されます)
これは私の jsFiddle です: http://jsfiddle.net/Misiu/TyQSG/1/
onSelect
このバグを取り除くには、関数をどのように変更すればよいですか?