如何设置结束日期必须比开始日期晚1天?
$("#beginDate").datepicker({
minDate: 1,
changeMonth: true,
dateFormat: 'mm/dd/yy',
onClose: function (selectedDate, instance) {
if (selectedDate != '') {
$("#endDate").datepicker("option", "minDate", selectedDate);
var date = $.datepicker.parseDate(instance.settings.dateFormat, selectedDate, instance.settings);
date.setMonth(date.getMonth() + 3);
console.log(selectedDate, date);
$("#endDate").datepicker("option", "minDate", selectedDate);
$("#endDate").datepicker("option", "maxDate", date);
}
}
});
答案 0 :(得分:2)
只需更新代码onclose
beginDatePicker
事件中的一行
使用这一行
var minDate2 = new Date(selectedDate);
minDate2.setDate(minDate2.getDate() + 1);
$("#endDate").datepicker("option", "minDate", minDate2);
而不是
$("#endDate").datepicker("option", "minDate", selectedDate);
答案 1 :(得分:1)
例如,在此示例代码中,startDatePicker
被选为2014-3-18,startDatePicker
的更改事件设置了minDate
的{{1}} 2014-3- 19。它会在此日期之前锁定单元格。我希望它有所帮助...
endDatePicker
答案 2 :(得分:0)
制作日期差异。它将隐藏日期。
$(function() {
$( "#beginDate, #endDate" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
onSelect: function( selectedDate ) {
if(this.id == 'beginDate'){
var dateMin = $('#beginDate').datepicker("getDate");
var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 1);
$('#endDate').datepicker("option","minDate",rMin);
$('#endDate').datepicker('setDate', rMin);
}
}
});
答案 3 :(得分:0)
问题是datepicker我期待一个日期数据类型。
var date = new Date(selectedDate);
date.setDate(date.getDate() +1);
console.log(selectedDate, date);
$("#endDate").datepicker("option", "minDate", date);
$("#endDate").datepicker("option", "maxDate", date);
更新了jsFiddle