<script type="text/javascript">
$(function() {
$('#downpayment_date').datepicker({
dateFormat: 'm/d/yy', minDate: new Date(<?php echo $this->y;?>, <?php echo (($this->m) - 1);?>, <?php echo ($this->d);?>),
beforeShowDay: $.datepicker.noWeekends
});
});
</script>
好的,我有这个日期选择器,允许基于在PHP中动态检索的值开始日期。
是否可以将日期选择限制在距离开始日期仅两周。
.i.e如果上述日期选择器中的开始日期从2012年12月8日开始,则datepicker应该允许我仅选择距该日期最多两周的日期。
$('#downpayment_date').datepicker({
dateFormat: 'm/d/yy', minDate: new Date(<?php echo $this->y;?>, <?php echo (($this->m) - 1);?>, <?php echo ($this->d);?>),
maxDate:new Date(<?php echo $this->y;?>, <?php echo (($this->m) - 1);?>, <?php echo ($this->d)+14;?>),
beforeShowDay: $.datepicker.noWeekends
});
答案 0 :(得分:1)
最简单的事情可能是传递PHP日期,只需添加14天就可以了:
var start = '08/12/2012';
var dateArray = start.split('/');
$('#date').datepicker({
minDate: new Date(dateArray[2],dateArray[0]-1, dateArray[1], 0, 0, 0, 0),
maxDate: new Date(dateArray[2],dateArray[0]-1, parseInt(dateArray[1])+14, 0, 0, 0, 0)
});
这可以处理几个月和几年的日期。这是 jsFiddle example 。因此,不像上面那样对开始日期进行硬编码,而是按照您的说法回复PHP日期。
答案 1 :(得分:0)
使用日期选择器中的maxDate属性并将其设置为minDate + 14
答案 2 :(得分:0)
$(document).ready(function() {
var MyMaxDate = $("#date" ).datepicker( "option", "minDate" );
$( "#date" ).datepicker({ minDate: new Date(<?php echo $y;?>, <?php echo ($m - 1);?>, <?php echo $d;?>),maxDate: MyMaxDate +14, beforeShowDay: $.datepicker.noWeekends });
});
实际上我发现上面的方法更高效,更快。