海水正蓝

面朝大海,春暖花开
posts - 145, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

[转]Ext combobox 动态模糊匹配

Posted on 2013-04-29 11:33 小胡子 阅读(410) 评论(0)  编辑  收藏 所属分类: Ext

Ext中的combobox有属性typeAhead:true 可以实现模糊匹配,但是是从开始匹配的,如果需要自定的的匹配,则需要监听beforequery方法,实现自己的匹配查询方法:

代码如下:


var gfxmComb  = new Ext.form.ComboBox({
        id : 'gfxmComb',
        store : gfxmStore,
        typeAhead : 
true,
        mode : 'local',
        editable : 
true,
        displayField :'xmMc',
        valueField :'xmBm',
        triggerAction : 'all',
        selectOnFocus : 
true,
        listeners : {
            'beforequery':
function(e){
                 
                
var combo = e.combo;  
                
if(!e.forceAll){  
                    
var input = e.query;  
                    
// 检索的正则
                    var regExp = new RegExp(".*" + input + ".*");
                    
// 执行检索
                    combo.store.filterBy(function(record,id){  
                        
// 得到每个record的项目名称值
                        var text = record.get(combo.displayField);  
                        
return regExp.test(text); 
                    });
                    combo.expand();  
                    
return false;
                }
            }
        }
    });

原文出自:http://weibaojun.iteye.com/blog/1098731

只有注册用户登录后才能发表评论。


网站导航: