JavaScript 自动建议
对于类似以下情况的情况,是否有可用于自动建议/完成的库
搜索“Vir”会返回“West Virginia”和“Virginia”
谢谢
编辑
抱歉,没有更多解释。在上面的问题中,我不需要“包含”搜索,而是要在单词边界上进行前缀搜索。因此,“est”不应返回“West Virginia”,而“wes”或“vir”则应该返回。
该列表大约有 500 个项目。
建议的解决方案
我修改了 Mike de Boer 的 trie 实现 https://github.com/mikedeboer /trie 来解决这个问题。我在单词边界上分割了一个项目并将每个单词存储在特里树中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。
你们觉得怎么样?
Is there a library available for Auto Suggest/Complete for cases like the following
Searching for "Vir" returns both "West Virginia" and "Virginia"
Thanks
EDIT
Sorry for not explaining it more. In the problem above, I do not want a "contains" search, but a prefix search on word boundaries. So "est" should not return "West Virginia", but "wes" or "vir" should.
The list is around 500 items large.
Proposed Solution
I modified the trie implementation by Mike de Boer https://github.com/mikedeboer/trie to solve this. I split an item on word boundaries and stored each word in the trie. For the last letter of each word I stored the index of the item that the word came from in the trie node. When user searches, I return a list of indices and then get the corresponding items from the main list.
What do you guys think?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
首先,在问这样一个直接的问题之前,你应该尝试使用谷歌或搜索上一个问题。
要回答您的问题,您可以使用 jquery-ui,它有许多其他小部件,其中一个称为自动完成。
如果您熟悉 JQuery,这应该很容易实现。
http://jqueryui.com/demos/autocomplete/
First, you should try to use google or search previous question before asking such a straight forward question.
To answer your question, you could use jquery-ui wich has amoung many other widgets one called Autocomplete.
If you're familair with JQuery this should be pretty easy to implement.
http://jqueryui.com/demos/autocomplete/
你可以使用 jquery 自动完成。啊,你自己已经回答了!
http://bit.ly/uXHRR0
you can use jquery autocomplete. ah, you've answered that already by yourself!
http://bit.ly/uXHRR0
试试这个:
http://code.drewwilson.com/entry/autosuggest-jquery-plugin
Try this:
http://code.drewwilson.com/entry/autosuggest-jquery-plugin
我修改了 Mike de Boer https://github.com/mikedeboer/trie 的 trie 实现来解决这个问题。我在单词边界上分割了一个项目并将每个单词存储在特里树中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。
I modified the trie implementation by Mike de Boer https://github.com/mikedeboer/trie to solve this. I split an item on word boundaries and stored each word in the trie. For the last letter of each word I stored the index of the item that the word came from in the trie node. When user searches, I return a list of indices and then get the corresponding items from the main list.