jQuery Datepicker - 设置抵达日期后1天的出发日期
问题描述:
我正在创建预订小部件,并且希望在抵达日期后的1天内设置“出发日期”。这是我到目前为止,但由于某种原因,它显示相同的日期,而不是第二天。jQuery Datepicker - 设置抵达日期后1天的出发日期
jQuery(document).ready(function() {
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = jQuery('#arrivalDate').fdatepicker({
onRender: function (date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
if (ev.date.valueOf() > checkout.date.valueOf()) {
var newDate = new Date(ev.date);
newDate.setDate(newDate.getDate() + 1);
checkout.update(newDate);
}
checkin.hide();
jQuery('#departureDate')[0].focus();
}).data('datepicker');
var checkout = jQuery('#departureDate').fdatepicker({
onRender: function (date) {
return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
checkout.hide();
}).data('datepicker');
});
答
这个问题已经在这里回答了Incrementing a date in JavaScript但是如果你不想读它。然后,你应该改变这种
var newDate = new Date(ev.date);
这个
var newDate = new Date(ev.getDate() + 1);
然后newDate将当天加上一个额外的一天,是你添加的一个。
我有'newDate.setDate(newDate.getDate()+ 1);'就在你提到的那一行下面。 – JeremyE
我知道,但newDate应该为null,因为它不正确initiliaze所以当你尝试'newDate.setDate(newDate.getDate()+ 1);'你说newdDate应该设置为null加1,错误是在'var newDate = new Date(ev.date);'中 –