jQuery .datepicker ("setDate", newdate) не вызывает события onChange и onSelect - PullRequest
3 голосов
/ 17 июля 2011

Содержимое ввода DatePicker изменяется программно с помощью метода "setDate", и я хочу обновить предварительный просмотр формы ввода в зависимости от измененного значения даты.

Событие «onSelect» запускается только при изменении даты через пользовательский интерфейс средства выбора даты, а не при вызове «setDate».

Событие «onChange» на входе также не вызывается.

Сейчас кажется, что единственный способ - это вызывать мою updatePreview функцию вручную каждый раз после "setDate", и мне нужно переформатировать объект даты, который я получаю из метода "getDate".

Есть ли более простой способ сделать это?

Вот макет в jsFiddle . Кнопка «изменить программно» не обновляет предварительный просмотр.

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Если я правильно понимаю, вы хотите обновить отдельный элемент с датой, которая вводится или устанавливается программно.Если это так, обновляет альтернативное поле Предварительный просмотр уже запечен в jQuery UI Datepicker.

Виджет выбора даты только, кажется, может обновлять альтернативное поле <input>а не <div> preview , хотя, так что если вам нужно обновить <div>, тогда demo потребует немного больше работы.

2 голосов
/ 17 июля 2011

Вы можете вызвать событие самостоятельно, но в общем случае установка значений в javascript не вызывает события. Это касается и JQuery. Запуская события самостоятельно:

$(elem).select(); // for select obviously  
$(elem).change(); // for change
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...