我有ComboBox
。当我单击展开列表中的项目时,ComboBox
选择该项目并折叠。如果我单击已选择的项目,它也会崩溃。
当用户选择已选择的项目时,有没有办法“停止”折叠?ComboBox
PS:简而言之,我想表现ComboBox
得像http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.htmlTimeField
更新
我不需要至少在 IE7 和 IE8 上不起作用的解决方案。
我有ComboBox
。当我单击展开列表中的项目时,ComboBox
选择该项目并折叠。如果我单击已选择的项目,它也会崩溃。
当用户选择已选择的项目时,有没有办法“停止”折叠?ComboBox
PS:简而言之,我想表现ComboBox
得像http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.htmlTimeField
更新
我不需要至少在 IE7 和 IE8 上不起作用的解决方案。
var cb = new Ext.form.ComboBox({
// here is your local store
mode: 'local',
store: new Ext.data.SimpleStore({
fields: ['id', 'label'],
data: [
['1', 'One'],
['2', 'Two']
]
}),
listeners: {
'beforeselect': function (combo, record, index) {
// prevent collapsing if the same value is selected
if (record.data.label == combo.getRawValue()) return false;
}
}
});
如果你想要这种行为:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
如果您正在处理的是 3.3,这似乎有效:
Ext.form.ComboBox.override({
onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) {
return this.getValue() !== record.data[this.valueField || this.displayField];
})
});
在 Chrome 和 IE8 上测试。onSelect
如果当前值与您尝试设置的值完全匹配,它会阻止调用该函数。