ExtJs 4, Come prevenire xtype: 'combo' di collassare quando già selezionato oggetto cliccato?
-
24-10-2019 - |
Domanda
Ho ComboBox
. Quando clicco sulla voce dalla lista espansa, ComboBox
selezionare questa voce e collasso. Se clicco su elemento già selezionato anche crollare.
C'è un modo per "stop" ComboBox
collasso voce quando l'utente seleziona già selezionata?
PS: per essere breve voglio ComboBox
si comporti come TimeField
da http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html
Aggiorna
Non ho bisogno di soluzioni che funzionano dosen't almeno a IE7 e IE8 ..
Soluzione
Se si vuole che il comportamento:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
Altri suggerimenti
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;
}
}
});
Se è si 3.3 a che fare con, questo sembra funzionare:
Ext.form.ComboBox.override({
onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) {
return this.getValue() !== record.data[this.valueField || this.displayField];
})
});
Testato su Chrome e IE8. Previene la funzione onSelect
viene chiamata se il valore corrente corrisponde esattamente al valore che si sta cercando di impostare.