0

私はこのコードを持っています

$(".datepicker").datepicker();
$(".datepicker-to").datepicker({
    changeMonth: true,
    changeYear: true,
    maxDate: "0D"
});

次に、私のテキストボックスは次のとおりです。

<div>
    <span>Date From :</span>
    <input type="text" class="datepicker-to" id="dateFrom" name="dateFrom" />
</div>
<div>
    <span>Date To :</span>
    <input type="text" class="datepicker-to" id="dateTo" name="dateTo" />
</div>

ここで、「from」txtbox の日付をクリックしたときに、「to」txtbox の日付を無効にしたいと考えています。無効にする必要がある日付は、「from」txtbox に入力した日付よりも前の日付です。明らかに jan21-jan9 からの日付を入力することは有効ではないためです...はっきりさせてください...

4

2 に答える 2

1

Baadsha が書いonSelectたように、日付がいつ選択されたかを調べるために使用します。ただし、minDate(初期化後の方法を使用して) とrefreshウィジェットを設定することをお勧めします。

$("#dateFrom").datepicker({
    "onSelect": function () {
        var input = $(this);
        $("#dateTo").datepicker("option", "minDate", input.datepicker("getDate"));
        $("#dateTo").datepicker("refresh");
    }
});
$("#dateTo").datepicker();

フィドルのデモ

日付ピッカーを両方向に更新するには、以下も設定しmaxDateます。

$("#dateTo").datepicker({
    "onSelect": function () {
        var input = $(this);
        $("#dateFrom").datepicker("option", "maxDate", input.datepicker("getDate"));
        $("#dateFrom").datepicker("refresh");
    }
});

フィドルデモ 2


更新: 選択した日付も無効にするには、選択した日付を 1 日補正してオフセットする必要があります。

var dayAfter = input.datepicker("getDate");
dayAfter.setDate(dayAfter.getDate() + 1);
$("#dateTo").datepicker("option", "minDate", dayAfter);

フィドルデモ 3

于 2013-06-18T19:22:24.163 に答える
1

datepicker選択コールバックでは、textbox属性を配置できます。そのreadonlyため、非アクティブ モードになります。

 $(".datepicker-to").datepicker({
        changeMonth: true,
          changeYear: true,
        maxDate: "0D",
       onSelect: function( selectedDate ) {
         //disable another one here            
    }
    });
于 2013-06-18T18:27:04.930 に答える