在jquery日期选择器中禁用日期和特定工作日

Disabling dates and specific weekdays in jquery datepicker

本文关键字:日期 工作日 jquery 选择器      更新时间:2023-09-26

我正在尝试禁用特定日期(如圣诞节等),并在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函数调用它,感觉就像是忽略了日期参数。

简而言之,我需要帮助!

在回答了一个类似/重复的问题后,刚刚注意到您的问题。不要从那里复制代码,只需看看这里:隐藏jquery日期选择器的工作日和特定日期