extjs 3.4でbeforequery関数を使用してフィルターを使用しているときにIE6で問題が発生しました。これが、私のコードです。
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);
}
}
});
注:ffとChromeで動作します
1.IE6でクエリを/^[undefined]/として取得しています。
2.しかし、ChromeとFFクエリでは= / ^ [a-zA-Z0-9-。、:+ *()='&_] /
どんな助けでも大歓迎です。
前もって感謝します、
ラージ