日期:2014-05-16  浏览次数:20345 次

showbo斑竹 请教个extjs combo小问题
combo中editable属性设置为true时,可以进行输入且自动匹配相应数据,但只能按照顺序从前往后匹配,如图img=http://img.bbs.csdn.net/upload/201309/18/1379487209_360535.jpg][/img]
当我输入姓名时就无法匹配,不适用实际操作,这种情况是需要修改combo的源码吗,还是另有属性或者监听可以达到效果,谢谢各位高手了。。。
extjs combo 数据匹配

------解决方案--------------------
网上看了下有,不过得自己写些匹配的规则,在query事件

var combo = new Ext.form.ComboBox({  
        id:'somecombo',  
        store: combostore,  
        displayField:'state',  
        typeAhead: true,  
        width: 180,  
        mode: 'local',  
        //enableKeyEvents: true,  
        forceSelection: true,  
        triggerAction: 'all',  
        emptyText:'Select a state...',  
        selectOnFocus:true,  
        renderTo: document.body  
    });  
  
    combo.on('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;  
        }  
    });