我必须在jQuery datepicker中设置最小日期。
仅允许的值是接下来三个月中的第一个。所以我希望日历打开到下个月而不是现月。
当我将最小日期设置为+ 1M时,它会打开2014年1月的日历,而不是2013年12月,但该月的第1天被禁用。
如果我将minDate设置为-0,我会看到dec日历没有有效的select选项,因为1st已经过了。用户必须前往下个月,并且第一个是可选择的。 我的代码是:
$("#effdatepicker").datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
minDate: "+1M",
maxDate: "+3M",
beforeShow: function () {
if (jQuery('#enddatepicker').val() != "") {
jQuery(this).datepicker('option', 'maxDate', jQuery('#enddatepicker').val());
}
},
beforeShowDay: function (date) {
//getDate() returns the day (0-31)
if (date.getDate() == 1) {
return [true, ''];
}
return [false, ''];
}
});
答案 0 :(得分:2)
var d = new Date();
d2 = new Date(),
m = d.getMonth(),
y = d.getFullYear();
d.setFullYear(m > 10 ? y+1 : y, (m < 11 ? m + 1 : 0), 1);
d2.setFullYear(m+3 > 10 ? y+1 : y, (m+3 < 11 ? m + 3 : (m + 3)-12), 1);
$("#effdatepicker").datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
minDate: d,
maxDate: d2,
beforeShow: function () {
if (jQuery('#enddatepicker').val() != "") {
jQuery(this).datepicker('option', 'maxDate', jQuery('#enddatepicker').val());
}
},
beforeShowDay: function (date) {
//getDate() returns the day (0-31)
if (date.getDate() == 1) {
return [true, ''];
}
return [false, ''];
}
}).datepicker('setDate', d)
答案 1 :(得分:0)
结束这样做。
var d = new Date();
var d2 = new Date();
d.setMonth(d.getMonth() + 1);
d.setDate('1');
d2.setMonth(d2.getMonth() + 3);
d2.setDate('1');
$("#effdatepicker").datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
minDate: d,
maxDate: d2,
beforeShow: function () {
if (jQuery('#enddatepicker').val() != "") {
jQuery(this).datepicker('option', 'maxDate', jQuery('#enddatepicker').val());
}
},
beforeShowDay: function (date) {
//getDate() returns the day (0-31)
if (date.getDate() == 1) {
return [true, ''];
}
return [false, ''];
}
}).datepicker('setDate', d)