我正在为日期范围创建一个控件。有以下要求。
- 表格和收件人应为昨天,没有 future 日期[能够实现]
最多限制 3 个月的不同。
$("#from-datepicker").datepicker({ dateFormat: "dd-M-yy", maxDate: "-1d", onClose: function (selectedDate) { console.log(selectedDate); $("#to-datepicker").datepicker("option", "minDate", selectedDate); //$("#to-datepicker").datepicker("option", "maxDate", selectedDate); } }); $("#to-datepicker").datepicker({ dateFormat: "dd-M-yy", maxDate: "-1d", onClose: function (selectedDate) { $("#from-datepicker").datepicker("option", "maxDate", selectedDate); } });
这里是JSfiddle
最佳答案
结果如下:
$(function() {
$("#from-datepicker").datepicker({
dateFormat: "dd-M-yy",
maxDate: "-1d",
onClose: function (selectedDate) {
// Set 'TO' minDate
$("#to-datepicker").datepicker("option", "minDate", selectedDate);
// Set 'TO' maxDate at 3 months if before yesterday
var dt = new Date($(this).datepicker("getDate"));
dt.setMonth(dt.getMonth() + 3);
if(dt < Date.now()) {
$("#to-datepicker").datepicker("option", "maxDate", dt);
}
}
});
$("#to-datepicker").datepicker({
dateFormat: "dd-M-yy",
maxDate: "-1d",
onClose: function (selectedDate) {
// Set 'FROM' maxDate
$("#from-datepicker").datepicker("option", "maxDate", selectedDate);
// Set 'FROM' minDate at 3 months if before yesterday
var dt = new Date($(this).datepicker("getDate"));
dt.setMonth(dt.getMonth() - 3);
if(dt < Date.now()) {
$("#from-datepicker").datepicker("option", "minDate", dt);
}
}
});
});
工作中的jsfiddle:http://jsfiddle.net/382z6ev5/ (抱歉,我的 jsbin 有问题)
关于javascript - jQuery 日期选择器随 maxDate 范围变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446566/