我有 ComboBox
。当我点击展开列表中的项目时, ComboBox
选择此项并折叠。如果我点击已选择的项目,它也会折叠。
有没有办法“停止” ComboBox
用户选择已选择的项目时折叠?
PS:我想做的很短 ComboBox
表现得像 TimeField
从 http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html
UPDATE
我不需要至少在IE7和IE8上工作的解决方案..
我有 ComboBox
。当我点击展开列表中的项目时, ComboBox
选择此项并折叠。如果我点击已选择的项目,它也会折叠。
有没有办法“停止” ComboBox
用户选择已选择的项目时折叠?
PS:我想做的很短 ComboBox
表现得像 TimeField
从 http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html
UPDATE
我不需要至少在IE7和IE8上工作的解决方案..
如果你想要这种行为:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
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;
}
}
});
如果你正在处理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
如果当前值与您尝试设置的值完全匹配,则调用该函数。