【问题标题】:Populate a list using jQuery from an AJAX as autocomplete使用 AJAX 中的 jQuery 作为自动完成填充列表
【发布时间】:2011-08-18 09:06:20
【问题描述】:

我有一个包含项目列表的 JSON 文件。每个项目都有一个 ID 和一个名称,例如

{ID : 11, Name: 'item 1'}

我正在使用 jQuery Mobile 框架,我需要在其中放置一个文本框,用户可以在其中开始输入项目名称,并且列表应该使用里面的字母填充文件中的项目(某种自动完成)。

顺便说一句 - 列表很长(有数千个项目),所以我不想一次全部加载。

有什么想法可以实现吗?

谢谢!

【问题讨论】:

  • 您可以使用任何服务器端语言吗?如果您只有 JavaScript,则不可能在不加载整个文件的情况下从单个文件中选择条目。
  • 没有。我只有一个json文件。我可以将它加载到内存中然后过滤它吗?我不想用值填充列表 - 只是需要的值。
  • 是的,就是这样。
  • 太棒了。有什么办法可以自动过滤,还是我只需要一个一个过滤?谢谢:)

标签: json jquery-ui jquery jquery-mobile


【解决方案1】:

我将创建一个函数来根据短语条目中的“术语”返回结果集。

一个例子是使用 jQuery UI 自动完成的source:,然后根据出现过滤你的 json 数据(在加载时缓存?)。我想到了类似于用字符串拆分来打破短语并像jQuery(':contains(text)') 那样迭代它。

如果您的 json 是一个数组,jQuery.grep() 可能非常适合。 http://api.jquery.com/jQuery.grep

这是这个问题的另一个例子:How can I "filter" JSON for unique key name/value pairs?

这里的答案中有几个其他选项:json jquery filter javascript array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多