2

minDate のデフォルト値を設定する次の関数があります。

$(function() {
$( "#arrival_date" ).datepicker();
$( "#arrival_date" ).datepicker('option','minDate','<?php echo $minDate ?>');       
});

しかし、ページの読み込み後、関数の一部で最も早い日付に基づいて $minDate 変数が変更されることがあります。

たとえば、$minDate の値が "7/29/2012" で、ページが完全に読み込まれた後、$mindDate の日付が "7/29/2012" より前に変更される場合があります。「2012/7/20」に変わるとします。

これが発生した場合、DatePicker の minDate 値を新しい日付 (つまり、「2012 年 7 月 29 日」ではなく「2012 年 7 月 20 日」) に変更したいと考えています。

この関数を呼び出す方法は?

UPDATE* コード例:

<?php
    $checkin = "7/29/2012";
    $minDate = $checkin;
?>
<head>
    $(function() {
        $( "#arrival_date" ).datepicker();
        $( "#arrival_date" ).datepicker('option','minDate','<?php echo $minDate ?>');       
    });
</head>

<body>
<?php
    for($i=0;$i<$max;$i++){
        $r_id=$_SESSION['cart'][$i]['room_id'];

        if (!isset($room_id)){
            $room_id=$r_id;
        }else{
            $room_id=$room_id . "," . $r_id;
        }

        $checkin=$_SESSION['cart'][$i]['checkin'];
        $checkout=$_SESSION['cart'][$i]['checkout'];
        $nights=$_SESSION['cart'][$i]['nights'];
        $q=$_SESSION['cart'][$i]['qty'];
        $pname=get_room_type($r_id);

        if ($checkin < $minDate) $minDate = $checkin; //<--- here...how can I change the minDate of datepicker to the new value?
    }
?>  
</body>
</html>
4

3 に答える 3

4

あなたの場合、これを行うことができます。

$(function() {
 $( "#arrival_date" ).datepicker();
 $( "#arrival_date" ).datepicker({ minDate: new Date(<?php echo $checkin ?>) });
});


$( "#arrival_date" ).datepicker( "option", "minDate", selectedDate );

このリンクを参照してください。これはあなたを助けるかもしれません。http://jqueryui.com/demos/datepicker/#date-range

これがあなたの望むものであることを願っています。

于 2012-07-24T10:36:05.180 に答える
2

これは以前のスタックオーバーフローの投稿から取得したものですが、問題の解決に役立つはずです

jQuery 日付ピッカー minDate 変数

$("#checkinDate").change(function() {     
    test = $(this).datepicker('getDate');     
    testm = new Date(test.getTime());     
    testm.setDate(testm.getDate() + 1);      
    $("#arrival_date").datepicker("option", "minDate", testm); 
}); 
于 2012-07-24T10:39:36.607 に答える
0

チェックインがいつ、どのように変更されるかはわかりませんが、おそらく..

$checkin.change(function () {
    newDate = $(this).val();
    $( ".selector" ).datepicker({ 
        minDate: new Date(newDate) 
    });
});
于 2012-07-24T10:42:54.090 に答える