7

JQuerydatePickerに少し問題がありますが、それは私が見落としたか間違った設定の問題だと思います。

この単純なフィドルを見ると:JSフィドル

年の範囲を設定したことがわかります。デフォルトでは、入力をクリックすると1994年に開きますが、9月3日など、これらの日付のいずれかをクリックすると、実際にはドロップダウンメニューで選択された年ではなく、2012年として入力に入力します。

ドロップダウンを変更してから元に戻すことなく、正しい年を使用するようにするにはどうすればよいですか?

乾杯。

4

3 に答える 3

9

他の人が示唆しているように、defaultDateを設定する必要があります。ただし、他のソリューションとは異なり、相対リストを作成してから年が経過するとドロップダウンリストが更新されるため、日付をハードコーディングする必要はありません。

代わりにこれを試してください...

function loadDatePicker() {
    $('.datePicker').datepicker({
        dateFormat: 'yy-mm-dd',
        changeYear: true,
        changeMonth: true,
        yearRange: "-18:-12",
        defaultDate:"-18y-m-d"  // Relative year/month/day
    });
}
于 2012-09-13T14:40:11.457 に答える
5

奇妙ですがdefaultDate:"1994-01-01"、datepickerオプションに追加すると修正されるようです。

フィドル

于 2012-09-13T14:00:46.717 に答える
0

私は理由がわかったと思います。それはyearRange:ドロップダウンメニューでのみ範囲を制限するためです。リストを変更するだけです。

彼らはここでこれを大邸宅にします。

http://jqueryui.com/demos/datepicker/#option-yearRange [このオプションは、ドロップダウンに表示される内容にのみ影響することに注意してください。選択できる日付を制限するには、minDateおよび/またはmaxDateオプションを使用してください。]

これを証明するには..日付ピッカーを以下のように設定すると、すべての日付が無効になります。1994年ではなく2012年のカレンダーを見たからです

$('.datePicker').datepicker({
         dateFormat: 'yy-mm-dd',
         changeYear: true,
         changeMonth: true,
         yearRange: "-18:-12",
         maxDate: new Date(2012,1-1,1)

     });

これを修正するには、defaultDate、minDate、maxDateを使用する必要があります

はっきりしているといいのですが

于 2012-09-13T14:26:40.230 に答える