我需要在自动完成时将行数限制为10。数据来自db。有没有像'maxrows'这样的属性?我不想添加滚动。
请提前感谢方法。
我的代码是:
$("#iIdlbl").autocomplete({
source : function(request, response) {
var value = jQuery("#iIdlbl").val();
$.ajax( {
url : 'getiId.html',
dataType : 'json',
data : {
filter : value
},
success : function(data) {
response(jQuery.map(data.iList,function(item) {
return {
value : item.iId,
key : item.iId
};
}));
},
error : function(XMLHttpRequest,textStatus,errorThrown) {
$.loader('close');
}
});
},
minLength : 0,
open : function() {
$(this).removeClass(
"ui-corner-all").addClass(
"ui-corner-top");
},
close : function() {
$(this).removeClass(
"ui-corner-top").addClass(
"ui-corner-all");
},
select : function(event, ui) {
searchById(ui.item.value);
}
});
答案 0 :(得分:4)
最简单的方法是限制源中返回结果的数量。
因此,在getiId.html
中,将项目数限制为10
答案 1 :(得分:1)
您可以随时在success
函数中的10个结果后停止循环:
success : function(data) {
var results = [], i,
length = 10 < data.iList.length ? 10 : data.iList.length;
for (i = 0; i < length; i++) {
results.push({
value: item.iId,
key: item.iId
});
}
response(results);
},