【发布时间】:2013-12-13 14:51:52
【问题描述】:
我正在尝试禁用特定日期(即圣诞节等),并在 jQuery UI 日期选择器中默认禁用某些工作日,但我无法让它工作。我有以下内容:
<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 函数调用它,它感觉就像只是忽略了日期参数。
简而言之,我需要帮助!
【问题讨论】:
标签: javascript jquery datepicker