jQuery/AJAX type-ahead/auto-complete

Я прочитал несколько статей/вопросов/форумов, обсудив лучший плагин автоматического заполнения для jQuery. После попытки нескольких хороших я осознал дефект в большинстве.

  1. Если Вы ищете страны и вводите, несколько стран обнаруживаются. Если Вы продолжаете вводить Индию, это приводит к 5 вызовам Ajax (см. http://www.freeimagehosting.net/uploads/6f1bcd69e1.png), его довольно естественное, что Индия является подмножеством В, итак, почему вызов снова? Мы должны просто отфильтровать полученный клиентский список. Кто-либо знает о такой реализации?

  2. Каково состояние функции Jquery Autocomplete? Я читал в StackOverflow, что это больше не доступно с JQuery; но веб-сайт JQuery имеет 'Новую' метку помимо ссылки на Автоматическое заполнение.

Спасибо

7
задан Prasad 28 April 2010 в 11:32
поделиться

2 ответа

То, о чем вы пишете в 1. может быть из-за того, что:

  • Поиск ' в ' должен возвращать много результатов
  • На стороне сервера есть ограничение, чтобы никогда не возвращать более N результатов.
  • Это означает, что полный список стран содержит " В " неизвестно, на стороне клиента
  • Это означает, что невозможно получить (наверняка) список, соответствующий « Ind » без другого запроса Ajax.

Часто используется полурешение: отправлять Ajax-запрос не сразу после нажатия клавиши, а только через 100 или 200 миллисекунд.

Таким образом, если пользователь быстро набирает « Indi » и ждет, прежде чем вводить что-либо еще, то будет только 1 запрос Ajax для « Indi » ( и нет для « In », « Ind »)

8
ответ дан 6 December 2019 в 23:02
поделиться

Автозаполнение пользовательского интерфейса jQuery было добавлено в новой версии 1.8, поэтому, насколько я видел в деятельности по проекту, он все еще находится в разработке. Существует пример , в котором используется кэш на стороне клиента, касающийся проблемы, которую вы объяснили. Вы также можете использовать уже упомянутую опцию delay .

3
ответ дан 6 December 2019 в 23:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: