像这样编辑beforeShowDay
函数:
$('.date').datepicker({
maxDate: 5,
minDate: -5,
beforeShowDay: function (date) {
var day = date.getDay();
//disable Tuesdays
return [(day != 2), ""];
}
});
在这里看小提琴:http: //jsfiddle.net/8mp5W/1/
使用该范例,您应该能够创建一个您不希望显示的日期列表(与仅周二等相比)。
我认为这回答了您关于如何获得自定义可用日期的能力的问题。
编辑
以下 javascriptminDate
通过从今天的日期向后计数并在[0,6]
运行计数时跳过周末日期来设置。它会在达到您想要的 # 天后停止。
它可以变得更高效,并且应该被参数化等,但我将把调整和定制留给你。查找maxDate
将以相同的方式工作,但将日期提前。
$(window).load(function(){
$('.date').datepicker({
minDate: findMin (),
beforeShowDay: $.datepicker.noWeekends
});
});
function findMin () {
var today = new Date();
var invalidWeekdays = [0,6]; //weekdays to disregard
var validDaysPrior = 5; //number of days to count back
var i = 0;
while (i < validDaysPrior) {
today.setDate(today.getDate()-1); //decrement day
console.log("today is", today);
var todayWeekday = today.getDay();
if ( jQuery.inArray(todayWeekday, invalidWeekdays) < 0 ) {
console.log(todayWeekday + " is valid");
i++;
} else {
console.log(todayWeekday + " is NOT valid");
}
}
console.log(validDaysPrior + " valid days ago occurred on " + today);
return today;
}