I have ComboBox
. When I click on item from expanded list, ComboBox
select this item and collapse. If I click on already selected item it also collapsing.
Is there a way to "stop" ComboBox
collapsing when user select already selected item?
PS: to be short i want ComboBox
to behave like TimeField
from .0.0/examples/themes/index.html
UPDATE
I don't need solutions that dosen't work at least at IE7 and IE8..
I have ComboBox
. When I click on item from expanded list, ComboBox
select this item and collapse. If I click on already selected item it also collapsing.
Is there a way to "stop" ComboBox
collapsing when user select already selected item?
PS: to be short i want ComboBox
to behave like TimeField
from http://dev.sencha./deploy/ext-4.0.0/examples/themes/index.html
UPDATE
I don't need solutions that dosen't work at least at IE7 and IE8..
Share Improve this question edited May 5, 2011 at 16:44 shane87 3,12013 gold badges52 silver badges65 bronze badges asked Apr 27, 2011 at 10:44 obenjiroobenjiro 3,7607 gold badges49 silver badges82 bronze badges 1- 1 if you won't know the answer then at least vote for it, so other could find this question... – obenjiro Commented Apr 27, 2011 at 11:17
3 Answers
Reset to default 4var 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 (bo, record, index) {
// prevent collapsing if the same value is selected
if (record.data.label == bo.getRawValue()) return false;
}
}
});
If you want that behaviour:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
If it's 3.3 you're dealing with, this seems to work:
Ext.form.ComboBox.override({
onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) {
return this.getValue() !== record.data[this.valueField || this.displayField];
})
});
Tested on Chrome and IE8. It prevents the onSelect
function being called if it the current value exactly matches the value you're trying to set.