我有一个id为myDate的输入框,我希望用户输入日期不是2014年1月1日之前而不是12/30/2014之后的日期。我还想从当前日期提前2周通知。
$("#myDate").datepicker({
setDate: '11/01/2014',
minDate: 14,
maxDate: '12/30/2014',
beforeShowDay: $.datepicker.noWeekends
});
但是你可以看到它不起作用。设定日期不起作用,只需从当前日期开始,并提前14天申请。
答案 0 :(得分:1)
好之后没有让任何人回答这个问题。我想出了自己的。
希望这有助于像我这样的人...
$(function () {
var now = new Date();
if (now >= Date.parse('11/01/2014')) {
$('#dateFrom').datepicker({
minDate: 14,
maxDate: '12/30/2014',
beforeShowDay: $.datepicker.noWeekends
});
} else {
var dtDate1 = '11/01/2014'
var dtDate2 = dtDate1.replace(/-/g, '/')
var nDifference = Math.abs(new Date() - new Date(dtDate2));
var one_day = 1000 * 60 * 60 * 24;
var days = Math.round(nDifference / one_day);
if (Math.round(nDifference / one_day >= 14)) {
$('#dateFrom').datepicker({
minDate: '11/01/2014',
maxDate: '12/30/2014',
beforeShowDay: $.datepicker.noWeekends
});
}
else
if (Math.round(nDifference / one_day < 14)) {
$('#dateFrom').datepicker({
minDate: days,
maxDate: '12/30/2014',
beforeShowDay: $.datepicker.noWeekends
});
}
}
})
答案 1 :(得分:0)
不幸的是,我认为您必须编写自己的自定义功能来考虑高级通知单。我认为这超出了jQuery Datepicker功能。此外,如果您希望您的用户在11-1之前不选择日期,为什么不将11-1作为您的minDate?