Javascript 在jquery datepicker中禁用日期和特定的工作日

Javascript 在jquery datepicker中禁用日期和特定的工作日,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我试图禁用特定日期(如圣诞节等),并在jQueryUIDatePicker中禁用每个默认的工作日,但我无法让它工作。我有以下资料: <script type="text/javascript"> iDays = 2; blockDays = [1,4,6]; $(document).ready(function () { $.datepic

我试图禁用特定日期(如圣诞节等),并在jQueryUIDatePicker中禁用每个默认的工作日,但我无法让它工作。我有以下资料:

          <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>

iDays=2;
区块天数=[1,4,6];
$(文档).ready(函数(){
$.datepicker.setDefaults($.datepicker.regional['sv']);
$('.inpDate').datepicker({
日期格式:'年-月-日',
minDate:iDays,
最长日期:14,
showOtherMonths:是的,
showStatus:true,
展览日前:无节假日
});
var disabledDays=[“12-24-2013”、“12-25-2013”、“12-26-2013”、“12-31-2013”、“1-1-2014”]
功能假期(日期){
返回[!disableSpecificWeekDays(日期)&!nationalDays(日期)];
}
功能国家日(日期){
var m=date.getMonth(),d=date.getDate(),y=date.getFullYear();
对于(i=0;i日期){
返回true;
}
}
返回false;
}
功能禁用特定工作日(日期){
var daysToDisable=阻塞日;
var day=date.getDay();
对于(i=0;i
如果我在“beforeShowDay”参数中只运行disableSpecificWeekDays,它可以正常工作,nationalDays也是如此。但是由于某种原因,如果我通过noHoliday函数调用它,它感觉就像是忽略了date参数


总之,我需要帮助

刚刚在回答了一个类似/重复的问题后注意到您的问题。不要从那里复制代码,只需查看以下内容: