JQuery UI Автозаполнение, значение после выбора (с помощью мыши) отличается от (с помощью клавиш со стрелками) - PullRequest
5 голосов
/ 16 июня 2010

Я использую jQuery UI Autocomplete 1.8.1 с Jquery 1.4.2, и у меня есть эта проблема.

Сначала я не могу принудительно установить значение в поле ввода Автозаполнение, но это не большая проблема.

Но у меня есть проблема с этим:

Я не действую аналогично, когда пользователь select выбирает с помощью мыши использование стрелок на клавиатуре.При использовании клавиатуры все в порядке, и значение появляется после выбора в текстовом поле ввода, но при использовании мыши оно остается со старым (напечатанным) значением, а не с выбранным.

Как управлять этим (значение текстового поля послеВыбрать)?и почему существуют различные варианты поведения?

PS: изменение значения поля ввода внутри функции select бесполезно, поскольку это невозможно сделать!

Ответы [ 5 ]

3 голосов
/ 30 июля 2012

или вы можете добавить его в избранное

select: function( event, ui ) {
    $('#input').val(ui.item.value);
}
2 голосов
/ 14 июня 2012

Вы можете сделать что-то вроде этого:

$('#input').autocomplete({
   source: items,
   focus: function(event, ui) { var text = ui.item.value; 
   $('#input').val(text); 
   return false; 
   }
});

При наведении курсора на элемент мышкой будет заполнено текстовое поле с текущим значением, и при нажатии на него значение будет уже отображаться в текстовом поле.

2 голосов
/ 17 июня 2010

У меня была похожая проблема с этим.

При использовании клавиатуры фокус из текстового поля теряется, но при щелчке фокус возвращается к текстовому полю.

Это можетМожет быть, у вас что-то происходит в фокусе поля ввода, которое повторно запускается?

1 голос
/ 25 ноября 2011

Решение состояло в том, чтобы прекратить событие с помощью предотвратительного входа () внутри обратного вызова фокуса автозаполнения

0 голосов
/ 22 сентября 2010

Я не мог решить это префектным способом, поэтому мне удалось скрыть поле ввода поиска на select и отобразить другое настроенное div, которое скрыто при щелчке фокуса, переданного на поиск jQuery UI input подано снова.

...