我有以下代码
$("#in").datepicker({
minDate: 0,
onSelect: function (dateText, inst) {
dateText = new Date(dateText);
dateText = dateText.getDate()+1;
$('#out').datepicker("option", 'minDate', dateText);
}
});
实施例: http://jsfiddle.net/ANYTA/1/
但是,out
datepicker正在添加10天而不是1天。有什么可以修改以使其按预期工作?非常感谢你
答案 0 :(得分:6)
dateText = dateText.setDate(dateText.getDate()+1);
注意强>
somedate.setDate(days);
1) 天 是整数
2)预期值为 1-31 ,但允许使用其他值:
2.1)0将导致上个月的最后一小时
2.1)-1将导致上个月最后一小时之前的小时
3)当月份有31天时,那么32将导致下个月的第一天
4)如果月份有30天,那么32将导致下个月的第二天
你的代码shoule
$("#in").datepicker({
minDate: 0,
onSelect: function(dateText, inst) {
var actualDate = new Date(dateText);
var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1);
$('#out').datepicker('option', 'minDate', newDate );
}
});
$("#out").datepicker();
<强> DEMO 强>
答案 1 :(得分:3)
尝试:
dateText.setDate(dateText.getDate() + 1);
getDate返回当月的1-31天,因此添加一个没有意义。
setDate设置当月的某一天,因此如果您在该月的某一天添加一天,则可以有效地添加一天。
(另外,setDate非常聪明,可以处理翻转,即1月31日+ 1 = 2月1日)