2011-01-31 4 views
0
$("#div-calendar").datepicker({ onSelect: SelectedDay }); 

function SelectedDay(date, inst) { 
    var s = inst.dpDiv.find('.ui-datepicker-current-day a').parent().attr("class"); 
    alert(s); 

} 

Im пытается получить класс нажатой даты/ячейки.jQuery DatePicker OnSelect Событие Сработало слишком рано

Проблема заключается в том, что событие происходит ПЕРЕД заменой класса, поэтому оно всегда показывает мне классы предыдущего щелчка. Вместо этого мне понадобится «OnSelected». Какие-нибудь идеи?

+0

разве это изгоняются быть как $ (inst.dpDiv) .find ('Ui-DatePicker-ток-день в.'). parent(). attr ('calss') – Rafay

+0

Что должно быть? Прямо сейчас он вернет точно «ui-datepicker-current-day», который у вас уже есть, поэтому я не понимаю. – Victor

+0

На данный момент это не имеет значения, обе версии работают. –

ответ

1

Безобразная хак я прибегал к использованию в прошлом:

$("#div-calendar").datepicker({ onSelect: SelectedDay }); 

function SelectedDay(date, inst) { 
    // HACK: the ui hasn't been updated yet, check later 
    window.setTimeout(function() { 
     var s = inst.dpDiv.find('.ui-datepicker-current-day a').parent().attr("class"); 
     alert(s); 
    }, 0); 
} 
+0

Я не нашел лучшего решения, на данный момент это лучший способ сделать это, спасибо. Если у кого-то есть лучшая альтернатива, пожалуйста, поделитесь. –

+0

еще @ http://stackoverflow.com/questions/4629495/jquery-ui-calendar-add-links-to-chosen-dates-possible/4864085#4864085 –

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