我正在使用 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/