JaggenSWE
JaggenSWE

Reputation: 2094

Disabling dates and specific weekdays in jquery datepicker

I'm trying to disable specific dates (i.e christmas etc) PLUS disabling certain weekdays per default in the jQuery UI datepicker, but I can't get it to work. I have the following:

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

If I run ONLY the disableSpecificWeekDays in the "beforeShowDay" parameter it works fine, same goes with the nationalDays. But for some reason it FEELS like it's simply ignoring the date parameter if I call it through the noHoliday function.

In short, I need help!

Upvotes: 0

Views: 2229

Answers (1)

matthias_h
matthias_h

Reputation: 11416

Just noticed your question after having answered a similar/duplicate question. Instead of copying the code from there just have a look here: Hide weekdays and specific dates of jquery datepicker

Upvotes: 1

Related Questions