如何更新jQuery DatePicker的minDate值?

时间:2012-07-24 10:29:48

标签: php jquery datepicker mindate

我有以下函数来设置minDate的默认值:

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

但是在页面加载之后,$ minDate变量有时会根据我某些函数中最早的日期而改变。

示例如果$ minDate的值是“7/29/2012”,并且在页面完全加载后,有时$ mindDate日期会更改为早于“7/29/2012”。假设它将更改为“7/20/2012”。

如果发生这种情况,我想将DatePicker的minDate值更改为新日期(即“7/20/2012”而不是“7/29/2012”)。

如何调用此功能?

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>

3 个答案:

答案 0 :(得分: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

我希望这就是你想要的。

答案 1 :(得分:2)

这是从早期的stackoverflow帖子中获取的,但它可以帮助您解决问题

jQuery datepicker minDate variable

$("#checkinDate").change(function() {     
    test = $(this).datepicker('getDate');     
    testm = new Date(test.getTime());     
    testm.setDate(testm.getDate() + 1);      
    $("#arrival_date").datepicker("option", "minDate", testm); 
}); 

答案 2 :(得分:0)

我不知道签到的时间或方式如何变化,但也许类似......

$checkin.change(function () {
    newDate = $(this).val();
    $( ".selector" ).datepicker({ 
        minDate: new Date(newDate) 
    });
});