Выберите первое значение из автозаполнения JavaScript и PHP

0

в нижнем скриншоте я показываю список городов, и когда я пытаюсь ввести "Брисбен", он отображает список городов и пригородов с названием "Брисбен".

Изображение 174551

Теперь у меня есть 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"/>
  • 0
    Поскольку вы используете jquery, почему бы не использовать jquery-ui, он имеет автозаполнение: jqueryui.com/autocomplete
  • 0
    @Zac - правда, но это приложение очень большое и разработано кем-то другим. На данном этапе действительно трудно изменить его на jQuery-UI, поэтому просто ищем быстрое решение. Благодарю.
Теги:
autocomplete

1 ответ

0

После того, как вы прочтете код, вот предложение, а не ответ:

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

  2. Чтобы решить эту проблему, использование автозавершения jquery-ui: автофокус.

Чтобы включить автоматический фокус, вставьте в него js после строки 422:

autoFocus: true,

Чтение: http://api.jqueryui.com/autocomplete/#option-autoFocus

  • 0
    Вы имеете в виду между этими двумя строками? source: "/ajax/autocomplete" и select: selectAutocomplete, верно?
  • 0
    да, пожалуйста, прочитайте ссылку, которую я предоставил.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню