2012-03-10 77 views
0

我有一个搜索,并有一些答案打我的问题,但不够接近。jQuery日历与自定义日期范围

我正在整理预订系统,并在MySQL数据库中有一系列“关税”。

所有这些关税都有一个日期范围(以及其他值,如每晚的价格等,这与这个特定问题无关)。

使用jQuery.datePicker我想知道是否有一种方法,我可以只允许从MySQL数据库的日期范围内选择日期范围,并且任何未包含在这些范围内的日期都将被删除/不可选择。

“关税”布局为表如下:

id  date_from  date_to  color  price  min 
1   2012/02/01  2012/03/15  red   10   2 
2   2012/03/16  2013/04/10  green  7   0 
2   2012/05/16  2013/06/10  green  7   0 

所以,唯一的日期,应该是选择从2012年2月1日至10日2012年4月和16 2012年5月至2012年10June,其余冲压出来。颜色,价格和最小值与此问题无关。

任何帮助或指向正确的方向将不胜感激!

编辑:

经过进一步搜索我结束了脸手掌触摸自己,因为我发现这里的解决方案。对于其他人谁绊倒我的问题和需求的解决方案,去这里:

jQuery ui: multiple ranges for date picker?

感谢那些回答!

+0

我会建议那些日期范围存储到一个数组。然后,当用户点击日期时,比较是否允许($ .inArray ...)并显示消息。如果不允许,则显示一条消息并保留日期选择器。 – 2012-03-10 02:14:08

回答

0

jQuery datepicker具有“minDate”和“maxDate”参数。

$(selector).datepicker({ 
    'minDate': new Date(2012, 2, 1), 
    'maxDate': new Date(2012, 3, 15) 
}); 

或在你的PHP文件:

<script type="text/javascript"> 
$(function(){ 
    $("#date").datepicker({ 
     'dateFormat': 'm/d/yy', 
     'minDate': new Date(<?php echo $minDate->format('Y, m, d'); ?>), 
     'maxDate': new Date(<?php echo $maxDate->format('Y, m, d'); ?>) 
    }); 
}); 
</script>