带有筛选器的beforequery在IE6 extjs中不起作用
在extjs3.4中使用带有beforequery函数的过滤器时,我遇到了IE6的一个问题,下面是我的代码带有筛选器的beforequery在IE6 extjs中不起作用,extjs,extjs3,Extjs,Extjs3,在extjs3.4中使用带有beforequery函数的过滤器时,我遇到了IE6的一个问题,下面是我的代码 this.findById('field1').addListener({ beforequery: function(e) { var metadataStep = Ext.getCmp('step2'); if (e.query && e.query.indexOf('?') != -1) {
this.findById('field1').addListener({
beforequery: function(e) {
var metadataStep = Ext.getCmp('step2');
if (e.query && e.query.indexOf('?') != -1) {
var temp = '';
for(var i=0;i<e.query.length;i++){
temp = temp + '['+e.query[i]+ ']';
}
e.cancel = true;
var query = new RegExp(String.format('^{0}',temp.replace(/\?/g, 'a-zA-Z0-9\-\.,:\+\*\(\)=\'&_')));
if (combo.store.getCount() > 0 || combo.listEmptyText) {
combo.expand();
combo.restrictHeight();
}
this.store.clearFilter(true);
this.store.filter(this.displayField, query);
}
}
});
this.findById('field1').addListener({
查询前:函数(e){
var metadataStep=Ext.getCmp('step2');
if(e.query&&e.query.indexOf(“?”)!=-1){
var temp=“”;
对于(var i=0;i
此代码工作正常。IE6中的数组不工作
if (e.query && e.query.indexOf('?') != -1) {
e.query = String.format('^{0}', e.query.replace(/\+/g, '[\+]'));
e.query = String.format('^{0}', e.query.replace(/\(/g, '[\\(]'));
e.query = String.format('^{0}', e.query.replace(/\)/g, '[\\)]'));
e.query = String.format('^{0}', e.query.replace(/\*/g, '[\*]'));
e.query = String.format('^{0}', e.query.replace(/\./g, '[.]'));
e.cancel = true;
var query = new RegExp(String.format('^{0}',e.query.replace(/\?/g, '[a-zA-Z0-9\-\.,:\+\*\(\)=\'&_]')));
if (combo.store.getCount() > 0 || combo.listEmptyText) {
combo.expand();
combo.restrictHeight();
}
combo.store.clearFilter(true);
combo.store.filter(combo.displayField, query);
}