我有同样的问题:Limit results autocomplete jquery ui with slice function,过去2小时左右一直在寻找解决方案(除了使用CSS隐藏)。
我想在此处添加此切片功能,演示:https://stackoverflow.com/a/7617637/1607449
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
我想在本例中使用脚本:http://jsfiddle.net/h5E6C/(不是我的数组/脚本,但我的设置类似)。
我正在寻找这个问题的解决方案,所以请不要回复建议在发送之前使用PHP / SQL过滤数据等。不要故意粗鲁..
我可以让任何一个脚本彼此独立工作但不能一起工作:/
答案 0 :(得分:0)
想出来,只需要添加
.slice(0, 10)
到另一个响应函数。
在:
function custom_source(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(schools, function(value) {
return matcher.test(value.value)
|| matcher.test(value.nickname);
}));
}
后:
function custom_source(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(schools, function(value) {
return matcher.test(value.value)
|| matcher.test(value.nickname);
}).slice(0, 10)
);
}
以为我已经尝试过了,但我必须先将切片功能放在错误的位置。