в нижнем скриншоте я показываю список городов, и когда я пытаюсь ввести "Брисбен", он отображает список городов и пригородов с названием "Брисбен".
Теперь у меня есть JavaScript для функции автозаполнения.
function selectAutocomplete(e, t) {
switch (e.target.value = t.item.label, $("input#destinationId").val(""), $("input#hotel_id").val(""), $("input#region_id").val(""), t.item.type) {
case "1C":
break;
case "2S":
$("input#region_id").val(t.item.value);
break;
case "3D":
$("input#destinationId").val(t.item.value);
break;
case "4H":
$("input#hotel_id").val(t.item.value)
}
StopEvent(e)
}
$("input#keywords").bind("keydown", function (e) {
13 != e.keyCode && ($("#hotel_id").val(""), $("#destinationId").val(""), $("#region_id").val(""))
Полный код JS на http://pastebin.com/ThVpLSvC Ссылка на сайт https://dev.ther8server.com (извините сам подписанный SSL)
Может ли кто-нибудь помочь мне заполнить текстовое поле автоматически, то есть когда кто-то заканчивает печатать на Брисбене и нажимает на поиск, он должен автоматически click
(вызвать onclick другие скрытые поля тоже заполнены) на автозавершение первого элемента и это должно заполнить текстовое поле с именем Keywords
HTML-код
<input type="hidden" id="destinationId" name="destinationId" value=""/>
<input type="hidden" id="hotel_id" name="hotel_id" value=""/>
<input type="hidden" id="region_id" name="region_id" value=""/>
<input type="text" id="keywords" value="Enter destination or hotel name" placeholder="Enter destination or hotel name" name="keywords" class="ui-autocomplete-input" onfocus="this.value='';" autocomplete="off"/>
После того, как вы прочтете код, вот предложение, а не ответ:
Поместите первое значение в поле, которое вызовет логическую проблему, так как оно изменит значение поля ввода, поэтому список автозаполнения также будет изменен.
Чтобы решить эту проблему, использование автозавершения jquery-ui: автофокус.
Чтобы включить автоматический фокус, вставьте в него js после строки 422:
autoFocus: true,
Чтение: http://api.jqueryui.com/autocomplete/#option-autoFocus
source: "/ajax/autocomplete"
и select: selectAutocomplete,
верно?