Автозаполнение пользовательского интерфейса jQuery: как заставить событие 'change' срабатывать раньше? - PullRequest
14 голосов
/ 20 июня 2011

http://jqueryui.com/demos/autocomplete/#event-change

Звучит так, как будто событие change должно сработать после того, как вы выбрали элемент, но вместо этого похоже, что оно срабатывает onblur, но только если изменился ввод.

select OTOH срабатывает слишком рано, он срабатывает до обновления входного текста.

Я хочу что-то сделать со вводом, как только пользователь выберет элемент ИЛИ после того, как пользователь что-то введет и переключит фокус (как обычное событие изменения).

Как я могу это сделать?

1 Ответ

20 голосов
/ 20 июня 2011

Неважно, разобрался. Мы можем обмануть:

select: function(event,ui) { 
    this.value=ui.item.value; 
    $(this).trigger('change'); 
    return false; 
}

Установите значение для входа вручную, , а затем запустите событие изменения вручную и верните false, чтобы он не удосужился установить вход дважды.

...