我已按如下方式声明日期选择器实例:
$("#datePickerId").datepicker(
{ dateFormat: 'DD, d MM yy',
minDate: 0,
showOn: 'button',
buttonImage: '../../images/calendar.gif',
buttonImageOnly: true,
hideIfNoPrevNext: true
}
);
我现在想要更改为minDate选项,所以我这样做:
$('#datePickerId').datepicker('option', 'minDate', 3);
但没有任何反应。我想做其他事吗?还有其他可能的原因吗?
答案 0 :(得分:61)
上面的答案解决了如何在init设置默认的minDate,但问题实际上是如何动态改变minDate,下面我还阐明了如何设置默认的minDate。
原始问题的所有错误都是设置的minDate值应该是一个字符串(不要忘记引号):
$('#datePickerId').datepicker('option', 'minDate', '3');
minDate也接受一个日期对象,一个常见的用途是设置一个你想要计算的结束日期,所以这样的东西可能有用:
$('#datePickerId').datepicker(
'option', 'minDate', new Date($(".datePop.start").val())
);
回答这个问题以获得最佳实践; minDate选项需要以下之一:
@bogart将字符串设置为“0”是一个解决方案,因为它满足上面的选项2
$('#datePickerId').datepicker('minDate': '3');
答案 1 :(得分:25)
德拉科,
你可以这样做:
$("#datePickerId").datepicker(
{ dateFormat: 'DD, d MM yy',
minDate: new Date(2009, 10 - 1, 25), // it will set minDate from 25 October 2009
showOn: 'button',
buttonImage: '../../images/calendar.gif',
buttonImageOnly: true,
hideIfNoPrevNext: true
}
);
记得在月之后写-1(例如,对于6月是 - > 6 -1)
答案 2 :(得分:23)
将minDate用作字符串:
$('#datePickerId').datepicker({minDate: '0'});
这将在今天设定为最小可选日期。
答案 3 :(得分:4)
动态更改minDate
.datepicker("destroy")
例如
<script>
$(function() {
$( "#datepicker" ).datepicker("destroy");
$( "#datepicker" ).datepicker();
});
</script>
<p>Date: <input type="text" id="datepicker" /></p>
答案 4 :(得分:2)
假设我们有两个日期选择字段,field1和field2。 field2 date取决于field1
$('#field2').datepicker();
$('#field1').datepicker({
onSelect: function(dateText, inst) {
$('#field2').val("");
$('#field2').datepicker("option", "minDate", new Date(dateText));
}
});
答案 5 :(得分:2)
无需销毁当前实例,只需刷新即可。
$('#datepicker')
.datepicker('option', 'minDate', new Date)
.datepicker('refresh');
答案 6 :(得分:1)
月份从0开始。 0 = 1月, 1 = 2月, 2 = 3月, ... 11 = 12月。