1

最新の jquery (2.0.3) と jquery ui (v1.10.3) を使用しています。日付ピッカーを初期化するための私の設定は次のとおりです。

$("#datepicker").datepicker({
    numberOfMonths: 2,
    minDate: 0,
    maxDate: 40,
    onSelect: function(selectedDate) {
        $(this).datepicker('option', 'minDate', selectedDate);
    },
});

ご覧のとおり、datepicker には 2 か月を表示しています。今月の日付を選択すると、すべて問題ありません。

しかし、2 番目の月の日付を選択すると、選択した日付が最初の日付に移動します (状態が更新されたため?)。私はこの動作を望んでいません。2 番目の月に日付を選択したいだけです。このリフレッシュ状態を無効にすることはできますか?

編集:混乱を避けるために、インラインの日付ピッカーが必要です(日付を選択しても消えないもの)

4

1 に答える 1

0

onClose選択した日付が開始日と同じ月かどうかを確認する機能を使用できます。

そうでない場合は、オプションshowCurrentAtPosを 1 に設定すると、datepicker は現在選択されている日付を 2 番目の日付ピッカーとして表示します。

クイックリファレンス:

numberOfMonths オプションを介して複数の月を表示する場合、showCurrentAtPos オプションは現在の月を表示する位置を定義します。

コード:

$("#datepicker").datepicker({
    numberOfMonths: [2, 1],
    minDate: 0,
    maxDate: 40,
    onSelect: function (selectedDate) {
        $(this).datepicker('option', 'minDate', selectedDate);
    },
    onClose: function (dateText, inst) {
        var now = new Date()
        if (now.getMonth() == inst.selectedMonth) {
            $(this).datepicker('option', 'showCurrentAtPos', 0);
        } else {
            $(this).datepicker('option', 'showCurrentAtPos', 1);
        }
    }
});

デモ: http://jsfiddle.net/IrvinDominin/UqHYV/

于 2013-10-20T10:38:16.280 に答える