我尝试通过尝试从谷歌和stackoverflow作为答案发布的代码来解决这个问题,它解决了我的问题的一半但现在我的问题是我可以禁用2014-12-9以下的特定日期。我希望能够禁用任何一年,一天或一个月的任何特定日期。我该如何解决这个问题。
<script>
$(function() {
"use strict";
var holidays = [];
$.ajax({
type: "GET",
url: "<?= site_url() ?>/generalSettingController/getHolidays",
dataType: 'json',
success: function(data){
for(var i=0;i<data.length;++i){
holidays[i] = data[i]['date'];
}
//disableHolidays;
//console.log(disableHolidays);
}
});
function disableHolidays(date) {
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
console.log(holidays);
debugger
for (var i = 0; i < holidays.length; ++i) {
if ($.inArray(y + '-' + (m + 1) + '-' + d, holidays) != -1) {
return [false];
}
}
var noWeekend = $.datepicker.noWeekends(date);
return !noWeekend[0] ? noWeekend : [true];
}
$('.datepicker').each(function(){
$(this).datepicker({
dateFormat: 'yy-mm-dd' ,
beforeShowDay: disableHolidays
});
});
});
</script>
因此,有一个输入字段,用户点击并弹出jquery日历,他可以选择禁用哪个日期,但他不能选择已经禁用的日期。请帮我解决这个问题。这是变量范围的问题吗?