我在 ExtJs 2.3 中遇到以下问题:
我想在组合框中进行搜索。
我给你举个例子:
Ext.comboData.names = [['Peter', 'Paul', 'Amanda']];
var store = new Ext.data.SimpleStore({
fields: ['name'],
data: Ext.comboData.names
});
var combo = new Ext.form.ComboBox({
name: '...',
id: '...',
store: store,
displayField: 'name',
typeAhead: true,
mode: 'local',
forceSelection: false,
triggerAction: 'all',
emptyText: '-',
selectOnFocus: true,
applyTo: '...',
hiddenName: '...',
valueField: 'name'
enableKeyEvents: true,
lastQuery: '',
listeners: {
'keyup': function() {
this.store.filter('name', this.getRawValue(), true, false);
}
}
});
当我输入“a”时,“下拉列表”中应该只有“Paul”和“Amanda”。因此,换句话说,我正在寻找一种解决方案,不仅可以通过条目的第一个字母来过滤数据,还可以使用正则表达式(?)之类的东西(例如在 SQL 中... LIKE '%a%') ...我还需要为我的组合框添加“onKeyDown”事件类型,以便过滤我添加的每个字母的结果。
我怎样才能做到这一点?有任何想法吗?
提前很多坦克:)
Schildi
PS:不幸的是我必须使用我当前版本的ExtJs(2.3),所以如果在更高版本中我的问题有解决方案,我将不得不寻找其他方法......