Поиск по клику с автозаполнением Jquery - PullRequest
11 голосов
/ 26 июля 2010

Я пытаюсь смоделировать процесс поиска автозаполнения на Youtube.

Я не могу найти опцию, когда зритель нажимает на перечисленный элемент и автоматически переходит к поиску указанного элемента.

Моя кодировка выглядит следующим образом:

<script type="text/javascript">
  var data = ['array1','array2'];
  $(document).ready(function() {
    $j("input#directorySearch").autocomplete(data);
  });
</script>

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

Ответы [ 5 ]

21 голосов
/ 20 августа 2010

Мне нужно похожее поведение, используя стандартный виджет автозаполнения jQueryui.Хитрость заключается в том, чтобы использовать событие 'select', но отправка из вашего обработчика select не даст желаемых результатов, потому что на входе еще не будет заполнен выбор.

Следующий код работает для меня, хотя:

$("input#searchbox").autocomplete({
  source: autocomplete,
  select: function(event, ui) { 
    $("input#searchbox").val(ui.item.value);
    $("#searchform").submit();
  }
})

(в приведенном выше примере «autocomplete» - это URL, указывающий на источник завершения)

Где input # searchbox - это фактическая входная запись, а #searchform - ееродительская форма.По сути, вам необходимо заполнить поля ввода перед отправкой.

0 голосов
/ 30 июня 2013
$(function() {
$( "#search" ).autocomplete(
    {
         source:'/search-terms.php',
         focus: function(event, ui) {
             $("input#search").val(ui.item.label);
         },
         select: function(event, ui) {

            $("#searchform button").click(); }
    })
});

Я использую это нормально работает:)

0 голосов
/ 19 февраля 2011
$j("input#directorySearch").result(function(event, data, formatted) {
  $(this).closest("form").submit();
});

Официальная документация: http://docs.jquery.com/Plugins/Autocomplete/result#handler

0 голосов
/ 29 июля 2010

Изначально я использовал что-то простое, например Bassistance.de

Я перешел к использованию другой библиотеки с помощью devBridge

У devBridge естьопция под названием «onSelect:», которая позволяет автоматически отправлять форму.

0 голосов
/ 26 июля 2010

Разве вы не можете просто сделать что-то вроде:

$('.autocomplete ul li').live("click", function() {
  $("form#search").submit();
});

Где событие click в вашем списке опций вызывает отправку формы для вашей поисковой формы ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...