使easyui中combobox限制显示的数量以提升效率(修改源码)

在使用combobox做自动补全时,当下拉框数据量大的时候会导致效率大大降低,那么此时我们可以限定每次提示的数据量以提升效率,实现方式如下:

找到以下位置的源码,添加注释为//add的位置的行即可

$.map(qq,function(q){
q=$.trim(q);
var _978=q;
var _979=undefined;
var dataSize=0;//add
for(var i=0;i<data.length;i++){
var row=data[i];
if(opts.filter.call(_974,q,row)){//此处会调用filter过滤
dataSize++;//add
var v=row[opts.valueField];
var s=row[opts.textField];
var g=row[opts.groupField];
var item=opts.finder.getEl(_974,v).show();
if(s.toLowerCase()==q.toLowerCase()){//如果不需要大小写匹配可将toLowerCase()删除可提升效率
_978=v;
item.addClass("combobox-item-selected");
}
if(opts.groupField&&_979!=g){
$("#"+_975.groupIdPrefix+"_"+$.inArray(g,_975.groups)).show();
_979=g;
}
}
if(opts.showDataSize!=undefined&&opts.showDataSize==dataSize){//add
break;//add
}//add
}
vv.push(_978);
});

然后在combobox的data-options中添加

showDataSize:20

即可实现仅提示20行数据


如何实现本地数据过滤请参考:   

使easyui中combobox控件支持本地数据自动补全


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值