Друзья, помогите!
На страницу положил jQuery UI datepicker, использую его как фильтр по датам, т.е. если у меня есть страницы, относящиеся к конкретной дате, то я эту дату вывожу в календаре, иначе я делаю дату не кликабельной.
Делаю это вот так:
var list = {};
getEventsDatesList();
$j("#calendar").datepicker({
defaultDate: list[0],
changeMonth: false,
changeYear: false,
minDate: new Date(2009, 4 - 1, 1),
maxDate: new Date(2009, 12 - 1, 31),
onSelect: function(dateText) {
window.location = "Affiche-List.aspx?date=" + (dateText.replace('.', '-').replace('.', '-'));
},
beforeShowDay: function(date) {
return [list[date], 'event'];
},
onChangeMonthYear: function(year, month, inst) {
alert(list[0] + ', ' + list[1] + ', ' + list[2]);
lblMonthName.html(arrMonthNames[month - 1]);
},
monthNames: arrMonthNames,
monthNamesShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн',
'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
dayNamesShort: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'],
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
dateFormat: 'yy.mm.dd',
firstDay: 1
});
function getEventsDatesList() {
//заполняет массив датами, которые следует отобразить
...
list[new Date(date[2], date[0] - 1, date[1])] = true;
}
активные даты биндятся так:
beforeShowDay: function(date) {
return [list[date], 'event'];
}
но при загрузке страницы, на текущем месяце активная дата не показывается (а она в массиве есть), но если покликать по стрелкам смены месяцев и вернуться на текущий месяц -- все ок, она подхватывается.
Такое впечатление, что я чего-то не далаю при первой инициализации контрола, только вот что именно? =)
Заранее благодарю за любые комментарии!