Javascript 如何限制jQuery';什么是自动补全器?
我正在使用Jquery自动完成器,它有大约200个项目的列表。当我在框中键入一个字符时,它会同时显示所有100-150个选项 列表很长,它远远超出了页面的底部边界,而且性能也很差 如何将显示的选项数量限制为合理的数量,如5或6 给出的官方文件没有帮助 限制列表长度的方法是什么?是否还有另一个性能良好的自动完成程序库?使用:Javascript 如何限制jQuery';什么是自动补全器?,javascript,jquery,Javascript,Jquery,我正在使用Jquery自动完成器,它有大约200个项目的列表。当我在框中键入一个字符时,它会同时显示所有100-150个选项 列表很长,它远远超出了页面的底部边界,而且性能也很差 如何将显示的选项数量限制为合理的数量,如5或6 给出的官方文件没有帮助 限制列表长度的方法是什么?是否还有另一个性能良好的自动完成程序库?使用: $(".classThatNeedsTheAutoComplete").autocomplete({ source: function(request, respon
$(".classThatNeedsTheAutoComplete").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
这是在中找到的。
如果使用minLength选项,例如3,则用户必须在筛选器启动之前键入三个字符
这将导致比示例1更少的结果。您还可以使用
slice
一种方法是限制服务器端可能的选项。如果你让autocomplete插件显示100个选项中的10个选项,它将如何决定保留和删除哪些建议?@Hari在服务器端限制它意味着要做更多的工作。autocomplete应该根据键入的字符过滤列表,并显示前10个匹配条目。我认为在没有相关性计算的情况下限制选项不会太好,相关性计算(如果可能的话,用于单词片段)超出了autocomplete插件的范围。您可以限制选项,如下面的一个答案所示。我只想指出为什么这样的功能不应该成为插件的一部分。@Hari我不知道您所说的相关性计算是什么意思。它的简单字符匹配。比如在输入Ca时显示汽车、地毯,或者在输入23时显示2345。同样的事情也会发生在服务器上。是的,它的纯字符匹配,直到您不想筛选匹配结果为止。在筛选过程中,您有许多等效的选项,您如何决定筛选出哪些选项?不显示匹配选项可能是危险的,所以我同意作者的观点,他们没有包括这样的选项。