2013-05-01 3 views
1

Я думал, что у меня jQuery's Datepicker работает нормально, но затем клиент заметил, что он работает неправильно в IE и Safari (5 или 6). Doh.jQuery DatePicker minDate не работает в Internet Explorer и Safari

Согласно документации Datepicker НУЖНО:

"Установить начало и конечную даты, как фактические даты (новые Дата (2009, 1 - 1, 26))"

Это что я сделал, и он отлично работает в Chrome и Firefox.

Вот пример кода, который я использую, и jsFiddle illustrating the issue.

$(document).ready(function() { 

    var startDate = "2013,5,1"; 
    var endDate = "2013,7,1"; 

    function noSundays(date) { 
    return [date.getDay() != 0, '']; 
    }  

    function datepickerInit(startDate, endDate) { 
    $("#date").datepicker({ 
     inline: true, 
     minDate: new Date(startDate), 
     maxDate: new Date(endDate), 
     beforeShowDay: noSundays, 
     dateFormat: 'dd/mm/yy' 
    }); 
    } 

    datepickerInit(startDate, endDate); 

}); 

Что я сделал не так?

+0

Какую версию jquery вы используете? – Jordan

+0

@Jordan Вы можете увидеть эту проблему для себя в jsFiddle, с которой я связан. (1.9.1) –

+0

Просто убедитесь, что вы не использовали что-то другое на сервере. – Jordan

ответ

4

Вы должны использовать объект Date вместо строки при определении startDate и endDate. Вы можете попробовать выполнить следующий код:

$(document).ready(function() { 

    var startDate = new Date(2013,5-1,1); 
    var endDate = new Date(2013,7-1,1); 

    function noSundays(date) { 
    return [date.getDay() != 0, '']; 
    }  

    function datepickerInit(startDate, endDate) { 

    $("#date").datepicker({ 
     inline: true, 
     minDate:startDate, 
     maxDate: endDate, 
     beforeShowDay: noSundays, 
     dateFormat: 'dd/mm/yy' 
    }); 
    } 

datepickerInit(startDate, endDate); 

}); 
+0

Спасибо, ты был прав! Прекрасно работает: http://jsfiddle.net/BC7Wq/ –

Смежные вопросы