我正在使用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 ++记录仍在那里。
答案 0 :(得分:0)
您需要过滤此服务器端。
网站上没有详细记录,但每次输入字母时,此插件都会将URL参数query
传递给服务器。例如
/getEmployee?query=John
因此,您可以使用查询参数过滤服务器端的电子邮件地址列表,并仅返回与查询匹配的电子邮件地址。
您可以下载所有电子邮件地址并过滤客户端,但每次页面加载时 会将1000多条记录下载到页面中:
$.getJSON('/getEmployee', function(data) {
var fullList = data.suggestions;
options = { lookup: fullList };
a = $('#autocomplete').autocomplete(options);
});