我正在为两个日期开始日期和结束日期使用基础日期选择器。
1) 点击日期选择器日历,默认显示今天的日期。
2) 如果我从开始日期更改任何日期,例如,如果我选择“10-10-2016”。 在不更改 endDate 的任何日期的情况下,如果我打开 enddate 日历,它应该仅以“10-10-2016”开头。但它是从今天开始的。
3) 我的要求是,选定的开始日期是日历中的下一个结束日期,而不是文本字段中的日期。请看图片。
请看这个 fiddle ,
请看第一张图片。
我从开始日期选择“14.07.2016”。
点击结束日期,它从今天开始。但它被禁用了。它是正确的。我只想从“14.07.2016”开始。蓝色事件日期应显示在选定的开始日期。
请看最后一张图片。截至“14.07.2016”,所有日期都已禁用。但它不是从那个日期开始的。请帮助我,我该怎么做。
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = jQuery('#startDate').fdatepicker({
format: "dd.mm.yyyy",
onRender: function(date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}
}).data('datepicker');
var checkout = jQuery('#endDate').fdatepicker({
format: "dd.mm.yyyy",
onRender: function(date) {
return date.valueOf() < checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
checkout.hide();
}).data('datepicker');
<input type="text" id="startDate" name="start_datum" class="input_text date" value="">
<input type="text" id="endDate" name="end_datum" class="input_text" value="">
最佳答案
您需要为开始日期添加更改事件,以更新结束日期。
试试这个:-
var checkin = jQuery('#startDate').fdatepicker({
format: "dd.mm.yyyy",
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());
checkout.update(newDate);
$('#endDate')[0].focus();
}
}).data('datepicker');
关于javascript - 修复 Selected startDate 应该是下一个 end Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36997679/