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

时间:2014-10-11 08:53:29

标签: 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 ++记录仍在那里。

1 个答案:

答案 0 :(得分:0)

您需要过滤此服务器端。

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

/getEmployee?query=John

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

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

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