Я реализовал виджет JQuery UI Autocomplete Combobox, который можно найти здесь: https://jqueryui.com/autocomplete/#combobox.jQueryUI autoselect combobox события не срабатывают
Автозаполнение работает, и событие «select» успешно запускается, когда элемент выбирается из значений результата. Использование клавиатуры для прокрутки и выбора элемента также приведет к событию «выбрать».
К сожалению, я не смог получить другие события, такие как «изменение», «закрыть» и «поиск», что означает, что если допустимое значение «foo», и пользователь просто набирает «foo», результат, базовое значение не устанавливается. То же самое верно, если пользователь выбрал «бар», а затем удаляет текст поиска - базовое значение остается «баром».
Если посмотреть на документацию по API, событие «изменения», предположительно, связано с событием «autocompletechange», но привязка к нему также не имеет никакого эффекта.
$('#my-select').combobox({
change: function(event, ui){
// does not fire
console.log('change', event, ui, $(this).val());
},
close: function(event, ui){
// does not fire
console.log('close', event, ui, $(this).val());
},
search: function(event, ui){
// does not fire
console.log('search', event, ui, $(this).val());
},
select: function(event, ui){
// this will fire when a menu item is clicked
console.log('select', event, ui, $(this).val());
}
});
$('#my-select').on('autocompletechange', function(event, ui){
// does not fire
console.log('autocompletechange', event, ui, $(this).val());
});
Смотрите не работает в этом jsFiddle: https://jsfiddle.net/s56n2pzz/
Я заметил, что событие обстрелял «изменение» событие имеет type
из «comboboxselect» и originalEvent.type
является «autocompleteselect», однако привязка к такие вещи, как «comboboxchange», тоже не работают.