【问题标题】:Javascript Auto SuggestJavascript 自动建议
【发布时间】:2011-12-12 12:11:21
【问题描述】:

对于以下情况,是否有可用于自动建议/完成的库

搜索“Vir”会返回“West Virginia”和“Virginia”

谢谢

编辑

很抱歉没有详细解释。在上面的问题中,我不想要“包含”搜索,而是在单词边界上进行前缀搜索。所以“est”不应该返回“West Virginia”,但“wes”或“vir”应该。

列表大约有 500 项。

建议的解决方案

我修改了 Mike de Boer https://github.com/mikedeboer/trie 的 trie 实现来解决这个问题。我在单词边界上拆分了一个项目并将每个单词存储在 trie 中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。

你们觉得呢?

【问题讨论】:

  • 您是否仅使用 Javascript,例如您有一个 js 对象文件并想要过滤匹配的对象,或者您有一个将检索 JSON 的后端应用程序(PHP、Python、...)你已经过滤了吗?
  • 基于Javascript。不与任何后端应用程序交互。我有一个大约 500 项的列表。
  • 建议您根据需要使用诸如 underscore.js documentcloud.github.com/underscore/#filter 之类的库来创建对象过滤器,然后您可以将其保留在某个插件上或编写您自己的 Auto Suggest 组件:)
  • @GabrielGartz 我已经用建议的解决方案更新了这个问题。告诉我你的想法。我不会使用迭代解决方案,因为我的列表有点大。
  • 这是一个很好的解决方案,我认为对于您的情况,您不需要 trie 代码,您只需要一个对象来索引(您已经完成)您的结果和一个查找函数来过滤和忽略大小写或一些特殊字符。 :)

标签: javascript jquery jquery-plugins autocomplete jquery-autocomplete


【解决方案1】:

首先,在问这样一个直截了当的问题之前,您应该尝试使用谷歌或搜索上一个问题。

要回答您的问题,您可以使用 jquery-ui,其中包含许多其他小部件,其中之一称为 Autocomplete。 如果您熟悉 JQuery,这应该很容易实现。

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

【讨论】:

  • 我已经更新了问题以进一步解释问题。之前很抱歉。
【解决方案2】:

您可以使用 jquery 自动完成功能。啊,你已经自己回答了! http://bit.ly/uXHRR0

【讨论】:

    【解决方案3】:
    【解决方案4】:

    我修改了 Mike de Boer https://github.com/mikedeboer/trie 的 trie 实现来解决这个问题。我在单词边界上拆分了一个项目并将每个单词存储在 trie 中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。

    【讨论】:

      猜你喜欢
      • 2012-07-31
      • 2013-12-14
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 2011-08-24
      相关资源
      最近更新 更多