javascript - Jquery 自动完成,在输入时显示一长串建议

标签 javascript jquery css autocomplete jquery-autocomplete

我正在使用 https://github.com/devbridge/jQuery-Autocomplete 我的自动完成代码如下。

var options, a;
jQuery(function(){
options = { serviceUrl:'/getEmployee'};
a = $('#autocomplete').autocomplete(options);
}); 

我的serviceUrl会给出一个很长的json数据如下

{"suggestions": [
"",
"AAHM@X.COM",
"AAKBHAGYALAXMI@X.COM",
"JOHNFAH@X.COM",
"ABDURREHMAN.L@X.COM",
// UP TO 1000++ records
]}

HTML代码

<input type="text" name="q" id="autocomplete" />

建议列表显示并出现在可滚动列表中,CSS 使单词带有下划线。

但是当我开始输入时,不相关的不会从列表中删除。因此,所有 1000 条以上的记录仍然存在。

最佳答案

您需要过滤此服务器端。

站点上没有详细记录,但每次键入字母时,此插件都会将 URL 参数 query 传递给服务器。例如

/getEmployee?query=John

因此您可以使用查询参数过滤服务器端的电子邮件地址列表,并仅返回与查询匹配的地址。

可以下载所有电子邮件地址并过滤客户端,但它在每次页面加载时将 1000 多条记录下载到页面:

 $.getJSON('/getEmployee', function(data) {
    var fullList = data.suggestions;
    options = { lookup: fullList };
    a = $('#autocomplete').autocomplete(options);
 });

关于javascript - Jquery 自动完成,在输入时显示一长串建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26312844/

相关文章:

javascript - 我想要一个将我链接到对象列表中单击的对象的操作

css - 更改 :before 和 :after 内容 on::selection

javascript - 空的 iframe src 有效吗?

javascript - 在字符串中的任意位置追加单词

javascript - 第二次点击监听器后 Google 图表卡住

javascript - 通过映射数组创建展平数组

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - 遍历每个 div 并获取其 html 内容

jquery - 克隆表行并添加 td

javascript - 为什么我无法使用正常的工作 URL 加载 JavaScript 脚本?