Javascript Auto Suggest - PullRequest
       30

Javascript Auto Suggest

1 голос
/ 12 декабря 2011

Есть ли библиотека для автоматического предложения / завершения для случаев, подобных следующему

При поиске «Vir» возвращается «Западная Вирджиния» и «Вирджиния»

Спасибо

EDIT

Извините, что не объяснил больше. В приведенной выше задаче я не хочу искать «содержит», а искать префикс по границам слова. Поэтому «est» не должен возвращать «Западную Вирджинию», а «wes» или «vir» должны.

Большой список насчитывает около 500 наименований.

Предлагаемое решение

Я изменил реализацию trie Майка де Бур https://github.com/mikedeboer/trie, чтобы решить эту проблему. Я разбил элемент на границы слов и сохранил каждое слово в дереве. Для последней буквы каждого слова я сохранял индекс элемента, из которого пришло слово, в узле trie. Когда пользователь выполняет поиск, я возвращаю список индексов, а затем получаю соответствующие элементы из основного списка.

Что вы, ребята, думаете?

Ответы [ 4 ]

2 голосов
/ 12 декабря 2011

Во-первых, вы должны попытаться использовать Google или выполнить поиск предыдущего вопроса, прежде чем задавать такой прямой вопрос.

Чтобы ответить на ваш вопрос, вы можете использовать jquery-ui, у которого есть много других виджетов, один из которых называется Autocomplete. Если вы знакомы с JQuery, это должно быть довольно легко реализовать.

http://jqueryui.com/demos/autocomplete/

0 голосов
/ 15 февраля 2012

Я изменил реализацию trie Майка де Бур https://github.com/mikedeboer/trie, чтобы решить эту проблему. Я разбил элемент на границы слов и сохранил каждое слово в дереве. Для последней буквы каждого слова я сохранял индекс элемента, из которого пришло слово, в узле trie. Когда пользователь выполняет поиск, я возвращаю список индексов, а затем получаю соответствующие элементы из основного списка.

0 голосов
/ 12 декабря 2011
0 голосов
/ 12 декабря 2011

вы можете использовать автозаполнение jquery.ах, ты уже ответил на это сам!http://bit.ly/uXHRR0

...