2

予約目的で日付ピッカーを機能させるために遊んでいます。
以下のコードは、私が望むようにほぼ正確に機能します。
問題は、「to」datepicker で 1 日未満の未来を許可したくないということです。

たとえば、「From」が 25/09/13 の場合、「To」は少なくとも 26/09/13 にする必要があります。
これを希望どおりにするには、何を変更する必要がありますか?

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" href="http://jqueryui.com/datepicker//resources/demos/style.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>

    $(function() {
        $( "#from" ).datepicker({
            defaultDate: "+0w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: -0,
            onClose: function( selectedDate ) {
                $( "#to" ).datepicker( "option", "minDate" , selectedDate );
        }
        });

        $( "#to" ).datepicker({
            defaultDate: "+0w",
            changeMonth: true,
            numberOfMonths: 1,
            onClose: function( selectedDate ) {
                $( "#from" ).datepicker( "option", selectedDate );
        }
        });
    });

</script>

<form action="?q=Reservation" method="post">
    <label for="from">From</label>
    <input type="text" id="from" name="from" />
    <label for="to">to</label>
    <input type="text" id="to" name="to" />

    First name: <input type="text" name="FirstName" value="Mickey"><br>
    Last name: <input type="text" name="LastName" value="Mouse"><br>
    <input type="submit" value="Submit">
</form>
4

3 に答える 3

2

次のことができます。

 $("#from").datepicker({
     defaultDate: "+0w",
     changeMonth: true,
     numberOfMonths: 1,
     minDate: -0,
     onClose: function (selectedDate) {
         var date2 = $('#from').datepicker('getDate');
         date2.setDate(date2.getDate() + 1);
         $("#to").datepicker("option", "minDate", date2);
     }
 });

したがって、現在の開始日を取得し、 を使用してそれに 1 日を追加し、考えたとおりにオプションsetDateを設定します。minDate

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

于 2013-08-26T21:29:17.210 に答える
0

これを行う最も簡単な方法は次のとおりです。

$( ".selector" ).datepicker({ minDate: -1, maxDate: 1 });
于 2013-08-31T12:54:45.513 に答える