2012-07-24 371 views
2

我有以下函數來設置的minDate的默認值:如何更新jQuery DatePicker的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」)。

如何調用這個函數?

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> 
+0

請注意籤日期存儲在一個會話的數組。 – jaypabs 2012-07-24 10:43:07

回答

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

我希望這是你想要的。

+0

我怎麼能叫這條線:'$(「#arrival_date」).datepicker(「選項」,「的minDate」,selectedDate);' – jaypabs 2012-07-24 10:50:38

+0

這一個你可以在需要時動態地設置日期通過JavaScript的網頁上使用基於一些場景。如在演示中,他們基於其他日期選擇來設置它。 – Vins 2012-07-24 11:36:50

+0

我可以用PHP調用這個嗎?怎麼樣?根據我上面的示例,當$ checkin小於$ minDate時,$ minDate更改了它的值。 – jaypabs 2012-07-24 11:53:48

2

這是從早期計算器後採取的,但它應該幫助您解決問題

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); 
}); 
0

我不知道何時或如何簽入的變化,但也許是這樣..

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