Автозаполнение пользовательского интерфейса jQuery возвращает [объект объекта] вместо значения для Google, как перенаправление - PullRequest
2 голосов
/ 02 ноября 2010

Я пытаюсь установить автозаполнение jQuery UI на моем сайте. У меня есть и работает, но я хочу, чтобы он автоматически отправлял форму поиска, когда кто-то нажимает на опцию. Поведение по умолчанию, по-видимому, заключается в том, что оно просто заполняет форму выбранным элементом и , а затем пользователь должен нажать кнопку отправки. Я хочу, чтобы он просто автоматически перенаправлял, как Google. Я использую PHP 5. +, MYSQL 5+, jquery.1.4.2 и jqueryui.1.8.6.

Вот код JavaScript:

<script>
$(function() {
    $( "#query" ).autocomplete({
        source: "/scripts/autocomplete_handler.php",
        minLength: 2,
        select: function(event, ui) {
                    $('#query').val(ui.item);
                  $("#results").text(ui.item); // for testing purposes
                    $('#search_form').submit();
                }

    });
});
</script>

Вот форма:

<form name="search_form" id="search_form" action="search.php" method="get">    
  <input type="text" name="query" id="query" />
  <input type="submit" value="Search" />
</form>
<code id="results"></code>

Как видите, я пытаюсь изменить значение поля ввода "query", используя $ ('# query'). Val (ui.item). Проблема в том, что при выборе опции автозаполнения $ _GET ['query'] становится [object Object]. т. е. мой веб-сайт ищет строку "[объект объекта]" вместо значения, которое я щелкнул.

Внизу формы есть кодовый тег с идентификатором «results». Я также не могу заставить это заполнить текст (ui.item). Если бы кто-то мог помочь, это было бы очень ценно, я уверен, что я не единственный, кто хочет, чтобы этот тип функций Google был похож на их автозаполнение, но я нигде не могу найти примеров.

1 Ответ

2 голосов
/ 03 ноября 2010

Попробуйте это в выбранной вами функции:

$('#query').val(ui.item.value);
...