调用jQuery UI的datepicker控件的时候,有时需要设定控件中的某些天是不可选的。而datepicker中每次显示天之前都会调用beforeShowDay方法。所以可以再beforeShowDay方法中对选择的日期进行处理。
代码示例:
$( "#datepicker" ).datepicker({
dateFormat: "yy/mm/dd",
beforeShowDay: disableSpecificDays
});
var disabledDays = ....;//格式要与datepicker中的日期格式一致(yyyy/mm/dd)。
function disableSpecificDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
if (typeof(disabledDays) != "undefined") {
for (var i = 0; i < disabledDays.length; i++) {
if($.inArray(y + '/' + (m+1) + '/' +d ,disabledDays) != -1) {
return [false];
}
}
}
return [true];
}
参考文档: