2012-10-15 55 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脚本来验证用户试图将其添加到购物车的时间。再次感谢 –

相关问题