EXTjs的下拉框添加一个模糊过滤呢:
了解Ext的朋友们可能知道,从Ext2.0开始Ext.form.ComboBox有个typeAhead的属性可以使combobox在用户输入的同时根据已绑定的数据中弹出一些提示,但是这些提示并不具备模糊过滤的功能,比如绑定的数据中有个叫“你好”,当输入“你”的时候可以出现提示,但是输入“好”的时候是不会弹出提示的。
那么,我们应该怎么让它支持模糊过滤呢?
其实很简单,我们只需要在创建下拉框时,给下拉框添加一个监听事件,代码如下:
//以下监听事件用于对下拉项进行模糊匹配
,listeners:{
beforequery : function(e){
var combo = e.combo;
if(!e.forceAll){
var value = e.query;
combo.store.filterBy(function(record,id){
var text = record.get(combo.displayField);
return (text.indexOf(value)!=-1);
});
combo.expand();
return false;
}
}
}