我需要在我的约会选择器中启用45天的天数。
代码:
function disableSpecificDaysAndWeekends(date) {
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
for (var i = 0; i < disabledSpecificDays.length; i++) {
if ($.inArray((m + 1) + '-' + d + '-' + y, disabledSpecificDays) != -1 || new Date() > date) {
return [false];
}
}
var noWeekend = $.datepicker.noWeekends(date);
return noWeekend[0] ? [true] : [true];
}
$(document).ready(function () {
var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
var currentDate = twoDigitDate + "-" + twoDigitMonth + "-" + fullDate.getFullYear();
var values = currentDate.split("-");
var parsed_date = new Date(values[2], values[1]-1, values[0]);
var maxdate = new Date(parsed_date);
maxdate.setDate(parsed_date.getDate() + 45);
$('#datepicker').datepicker({
showButtonPanel: true,
minDate: fullDate,
maxDate: maxdate,//new Date(2015, 04,2),
beforeShowDay: disableSpecificDaysAndWeekends
});
});
当我尝试上面的代码时能够启用45天,但问题是今天的日期处于禁用模式。
我是否知道如何在启用45天后启用日期选择器中的当前日期。
添加了输出屏幕截图
如果你今天检查,那么26日处于禁用模式。
答案 0 :(得分:0)
尝试此代码,
$('#datepicker').datepicker({
enddate:"+45d"
});
答案 1 :(得分:0)
只需删除|| new Date() > date
功能中的disableSpecificDaysAndWeekends
即可。由于您已经为Timepicker设置了minDate,因此您不需要它。
说明:New Date()
现在是(今天是实际时间的日期)。 date
是0:00h的给定日期。因此,除了0:00h之外,今天的日期总是会更大。
哦,return noWeekend[0] ? [true] : [true];
没有意义。应该是return !noWeekend[0] ? noWeekend : [true];
我猜。