How do i disable public holidays in a jQuery UI date picker?

18,766

Solution 1

you can exclude the dates like

var holidays = ["2014-02-27","2014-02-01"];
$( "#from" ).datepicker({
beforeShowDay: function(date){
    var datestring = jQuery.datepicker.formatDate('yy-mm-dd', date);
    return [ holidays.indexOf(datestring) == -1 ]
}
});

you can provide more dates to the holidays array

Solution 2

You have to use beforeShowDay attribute of DatePicker like below:

$("#textboxid").datepicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
})​​​​​;​

Above script will disable all Sundays.

Share:
18,766
Jimmy_Chong
Author by

Jimmy_Chong

Updated on June 23, 2022

Comments

  • Jimmy_Chong
    Jimmy_Chong almost 2 years

    I'm making a holiday booking application and obviously you don't need to book off holidays that are already given to you, so I need to know how I can disable, Christmas, for example from the date picker every year without me having to change the code every year.

    This is my jQuery UI date picker code so far:

    <script>
    $(function() {
      $("#from").datepicker({
          beforeShowDay: $.datepicker.noWeekends,
          defaultDate: "today",
          changeMonth: true,
          numberOfMonths: 1,
          minDate: "today",
          dateFormat: "dd/mm/yy",
          onClose: function(selectedDate) {
            $( "#to" ).datepicker("option", "minDate", selectedDate);
          }
      });
      $("#to").datepicker({
        beforeShowDay: $.datepicker.noWeekends,
        defaultDate: "today",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: "today",
        dateFormat: "dd/mm/yy",
        onClose: function(selectedDate) {
          $("#from").datepicker("option", "maxDate", selectedDate);
        }
      });
    });
    </script>
    
  • Jimmy_Chong
    Jimmy_Chong about 10 years
    is there anyway to just have like the 25th of the 12 disabled every year because if I do it this way ill have to either change the code every year or input a lot of dates into the array
  • Suvin94
    Suvin94 over 4 years
    Hi how about if i set Max date? does that exclude the holidays?