Невозможно выбрать кнопку в зависимости от ее класса - PullRequest
2 голосов
/ 05 января 2012

Я хочу, чтобы мой jQuery datepicker (jQuery UI 1.8.13) генерировал отчет только тогда, когда я нажимаю кнопку «Готово».

enter image description here

Событие onClose нехорошо, потому что оно также срабатывает, когда я щелкаю где-то еще (кроме указателя даты), и мне нужно генерировать отчет только при нажатии кнопки «Готово». Поэтому мне нужно добавить обратный вызов onclick к кнопке «Готово». Однако я не могу найти селектор jQuery, который будет соответствовать кнопке «Готово». Я попробовал $('.ui-corner-all'), но это также найдет и другие элементы. Итак, я попытался $('.ui-priority-primary') (потому что AFAIK это единственный элемент, который имеет этот стиль), но он не соответствует кнопке ...

  1. Мне нужен селектор, который будет соответствовать только кнопке «Готово».
  2. Почему $('.ui-priority-primary') не работает?

Пожалуйста, найдите образец кода здесь .

ОБНОВЛЕНИЕ Я использую этот указатель даты в качестве средства выбора месяца, поэтому у меня нет дат, на которые можно нажать. Поэтому важно, чтобы мне был нужен обратный вызов для кнопки «Готово», как я уже говорил выше.

Ответы [ 2 ]

4 голосов
/ 05 января 2012

Как насчет использования события onSelect, которое срабатывает при выборе даты:

$('.date').datepicker({
    onSelect: function(dateText, inst) { 
        ...
    }
});
3 голосов
/ 05 января 2012

Поскольку это не работает, это потому, что элемент управления создается после того, как имеет место привязка.Если вы используете делегат, то это будет работать.Хотя я думаю, что ответ Дарина, вероятно, является лучшим решением, я предоставляю его, поскольку он прямо отвечает на вопрос «почему» вашего вопроса.

http://jsfiddle.net/7ThB8/30/

$('body').delegate('.ui-priority-primary', 'click', function() {
    alert('done was clicked');
});
...