Extjs 4.1 Combo - How zu machen, wählen Sie die Funktion Feuer, Wenn der Anruf-combo.setValue
Habe ich eine combo wie
items: {
xtype: 'combo',
id: 'combo',
queryMode: 'local',
displayField: 'name',
valueField: 'id',
store: Ext.create('Ext.data.Store', {
fields: ['id', 'name', 'mydata'],
data: [
{'id': '1', 'name': 'John Smith', 'mydata': ["3", "4"]},
{'id': '2', 'name': 'Albert Einstein', 'mydata': ["1", "2"]}
]
}),
listeners: {
select: function( combo, records, eOpts ) {
alert(records[0].get('mydata')); //records is undefined
}
}
}
Aber wenn ich mit
var combo = Ext.getCmp('combo');
//combo.select("1");
combo.setValue("1");
combo.fireEvent('select');
Dann alert(records[0].get('mydata')); //records is undefined
scheitern. Wie dieses problem zu lösen, danke.
Hier ist mein code http://jsfiddle.net/LZ8XU/
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für einige Grund, die select-Methode des Ext-comboBox nicht ausgelöst wird das select-Ereignis. Es scheint mir aus Ihrer Frage, dass Sie möchten, um einen Wert festzulegen, und geben Sie manuell Feuer das select-Ereignis. Wenn dem so ist, gibt es ein paar mehr Felder, die notwendig sind, zu gehen; insbesondere die comboBox selbst und den ausgewählten Datensatz.
Hier ist eine Implementierung, die es tut.
Warum höre nicht auf die
change
Veranstaltung statt?