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 值更改为新日期(即“7/20/2012”而不是“7/29/2012”)。

如何调用这个函数?

更新*示例代码:

<?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

这取自早期的 stackoverflow 帖子,但它应该可以帮助您解决问题

jQuery datepicker 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 回答