Search code examples
jquery-uijquery-ui-datepicker

Jquery UI datepicker. Disable array of Dates


I have been trying to search for a solution to my Jquery ui datepicker problem and I'm having no luck. Here's what I'm trying to do...

I have an application where i'm doing some complex PHP to return a JSON array of dates that I want BLOCKED out of the Jquery UI Datepicker. I am returning this array:

["2013-03-14","2013-03-15","2013-03-16"]

Is there not a simple way to simply say: block these dates from the datepicker?

I've read the UI documentation and I see nothing that helps me. Anyone have any ideas?


Solution

  • You can use beforeShowDay to do this

    The following example disables dates 14 March 2013 thru 16 March 2013

    var dates = ['2013-03-14', '2013-03-15', '2013-03-16'];
    
    $('input').datepicker
    ({
        beforeShowDay: function(date)
        {
            var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
            return [dates.indexOf(string) == -1];
        }
    });
    

    Demo: Fiddle