我正在尝试禁用特定日期(即圣诞节等)PLUS在jQuery UI datepicker中禁用每个默认的某些工作日,但我无法让它工作。我有以下内容:
<script type="text/javascript">
iDays = 2;
blockDays = [1,4,6];
$(document).ready(function () {
$.datepicker.setDefaults($.datepicker.regional['sv']);
$('.inpDate').datepicker({
dateFormat: 'yy-mm-dd',
minDate: iDays,
maxDate: 14,
showOtherMonths: true,
showStatus: true,
beforeShowDay: noHolidays
});
var disabledDays = ["12-24-2013", "12-25-2013", "12-26-2013", "12-31-2013", "1-1-2014"]
function noHolidays(date) {
return [!disableSpecificWeekDays(date) && !nationalDays(date)];
}
function nationalDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if ($.inArray((m + 1) + '-' + d + '-' + y, disabledDays) != -1 || new Date() > date) {
return true;
}
}
return false;
}
function disableSpecificWeekDays(date) {
var daysToDisable = blockDays;
var day = date.getDay();
for (i = 0; i < daysToDisable.length; i++) {
if ($.inArray(day, daysToDisable) != -1) {
return [false];
}
}
return [true];
}
});
</script>
如果我只在“beforeShowDay”参数中运行disableSpecificWeekDays,它运行正常,与nationalDays相同。但由于某些原因,如果我通过noHoliday函数调用它,它会感觉它只是忽略了date参数。
总之,我需要帮助!
答案 0 :(得分:1)
在回答了类似/重复的问题后,您已经注意到了自己的问题。而不是从那里复制代码,只需看看这里:Hide weekdays and specific dates of jquery datepicker