Я использовал jquery-ui для автозаполнения окна ввода и установки скрытого значения из выбранного элемента.jquery-ui autocomplete не выбирается при вводе
Это я сделал с помощью опции
select: function(event, ui) { ...$("#myDiv").val(ui.item.value)... }
(может быть неправильно сейчас, не имеют код под рукой, но он не работает до тех пор, мой вопрос ...)
Это работает, когда выберите элемент из меню с помощью мыши, однако, если я просто введу какой-то текст и выберем элемент с помощью Enter - он ничего не сделает, это значит, что функция select не запускается функцией автозаполнения. Тем не менее, табуляция из коробки вызывает выбор.
Я использовал фокус и изменения: также обновлять поля, которые я хочу, но я думаю, что это слишком много, если действительно необходимо указать все фокус, изменить и выбрать, просто чтобы быть уверенным, что, однако, пользователь выбирает элемент из списка, который он действительно будет выбран.
спасибо.
rofly: Я использую JQuery-UI автозаполнения, то есть код, вы даете, но это выглядит следующим образом (от jquery.ui.autocomplete.js)
case keyCode.ENTER:
case keyCode.NUMPAD_ENTER:
// when menu is open or has focus
if (self.menu.active) {
event.preventDefault();
}
//passthrough - ENTER and TAB both select the current element
case keyCode.TAB:
if (!self.menu.active) {
return;
}
self.menu.select(event);
break;
Это выглядит все денди, поэтому я не уверен, что из-за этого он терпит неудачу.
Мой код выглядит так (завернутый в document.read()
$("#someDiv").attr("autocomplete", 'off');
$("#someDiv").autocomplete({
source: function(request, response) {
if (request.term in cache) {
response(cache[ request.term ]);
return;
}
$.ajax({
url: "giveMeJSON.jsp",
dataType: "json",
data: request,
success: function(data) {
cache[ request.term ] = data;
response(data);
}
})},
minLength: 1,
delay: 300,
select: function(event, ui) {
$("#someDiv").val(ui.item.label);
$("#hiddenDiv").val(ui.item.value);
}
});
так, проблема в том, что это работает, когда пользователь выбирает из меню с помощью мыши и при обходе из поля (keyUp, keyDown, чтобы выбрать вкладку, работает), но keyUp, keyDown, чтобы выбрать itme, затем введите, и ничего не произойдет!
если установить скрытый вход имеет странный идентификатор 'myDiv' .... возможно' изменения: функция (событие, щ) {... $ ("# myDiv"). val (ui.item.value) ...} 'works – Ties