2012-10-15 56 views
0

目前,我有這樣的代碼在這裏:如何在特定時間後限制日期選擇器上的日期?

<script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-timepicker-addon.js"></script> 
<script type="text/javascript"><!-- 
if ($.browser.msie && $.browser.version == 6) { 
    $('.date, .datetime, .time').bgIframe(); 
} 

$('.date').datepicker({dateFormat: 'D M dd, yy', minDate:2, beforeShowDay: $.datepicker.noWeekends}); 
$('.datetime').datetimepicker({ 
    dateFormat: 'yy-mm-dd', 
    timeFormat: 'h:m' 
}); 
$('.time').timepicker({timeFormat: 'h:m'}); 
//--></script> 

它的偉大工程由我有一兩件事我想補充它。

我使用日期選擇器,所以我的客戶可以選擇一個日期,當他們可以拿起一個項目。

我希望在美國東部時間下午5點30分後的兩天內把它清空。

所以在週一下午1點我只能選擇星期三以後。如果是星期一下午6點,我只能在週四開始訂購。

有誰知道如何做到這一點?我無法從API網站中找到它。

非常感謝

彼得

+1

API提供了minDate和maxDate(http://jqueryui.com/datepicker/#min-max),但您必須編寫邏輯這些具體的時間表。日期對象應該有助於簡化。 – TheZ

+3

你知道客戶端的日期是基於用戶的計算機設置,對吧?所以沒有辦法驗證正確,除非你得到服務器的時間... – ahren

+0

是的,如果你閱讀了關於答案的評論,我已經全部計劃好了。謝謝 –

回答

2

每文檔:http://jqueryui.com/datepicker/#min-max

,你可以根據它現在是什麼時候設置minDate: 2

var min = 1; 
var currentTime = new Date(); 
if (currentTime.getHours() >=17 && currentTime.getMinutes() >=30){ 
    min = 2; 
} 

然後傳遞到minminDate

正如ahren指出的那樣,雖然這將是用戶的時間,而不是你的。如果您想查找時區並從那裏進行調整,您可以使用getTimeZoneOffsethttp://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp

+0

好的想法。 1+從我這裏!我會給出一個去,讓你知道我如何得到:)我不知道爲什麼我沒有這樣想!謝謝 –

+0

我將使用PHP獲取EST時間並將其放入隱藏輸入中。我知道這意味着用戶可以利用HTML來改變時間,但是我將有一個PHP腳本來驗證用戶試圖將其添加到購物車的時間。再次感謝 –

相關問題