我正在尝试使用jquery-ui自动完成功能,但我无法完全理解如何将其连接起来。
为了查看功能,我们以
的json格式导出了一个用户名列表["Abbott, Bob",
"Adams, Jo", etc...
它超过8k行。我将其保存到名为names.json的文件中。当我设置自动填充功能时,我使用了以下内容:
$("#userName").autocomplete({
source: "names.json"
});
基于jqueryi-ui autocomplete页面。它说:
When a String is used, the Autocomplete plugin expects that string to point to a URL resource that will return JSON data.
它会返回所有8k +名称,而不是根据我输入的内容对其进行过滤。我尝试将其更改为:
$("#userName").autocomplete({
source: "names.json?term="
});
这也无法过滤它。
我尝试过远程JSONP数据源示例的变体,但我似乎无法让它工作。
我尝试将我的json文件更改为以下格式:
[{"value":"Abbot, Bob"},
{"value":"Adams, Jo"}, etc...
没有过滤。
我已经尝试取出价值附近的报价。这没有任何回报。
我已经尝试将其更改为this stackoverflow question的答案中列出的格式,使用我的第二个json格式返回item.value,但也没有过滤它。
我不太确定我做错了什么,我希望能理解。谢谢。
答案 0 :(得分:0)
您的数据源需要动态。
jquery ui autocomplete将向您指定的附加了?term=WHATEVER_THE_USER_TYPED
的网址发送请求。您需要在服务器端处理该请求并返回该术语的数据。
例如,
$("#userName").autocomplete({
source: "names.php" // php as an example.
});
将导致请求:
/names.php?term=abcd
names.php必须撤回与搜索匹配的数据并将其返回。