2013-07-08 2 views
0

У меня есть поле со списком, и я хочу получить идентификатор первой записи с сервера на alert(combo.store.data[0].id); Но это не работаетExtjs Combo - получить значение из магазина в afterrender функции

Вот мой код

 xtype: 'combo', 
     value: '0', 
     triggerAction: 'all', 
     forceSelection: true, 
     editable:  false, 
     allowBlank: false, 
     fieldLabel:  'example', 
     mode: 'remote', 

     displayField:'name', 
     valueField: 'id', 

     store: Ext.create('Ext.data.Store', { 
     ...... 
     ,listeners: { 
       'afterrender': function(combo){   
        alert(combo.store.data[0].id); 
       } 
     } 

Как могу я это сделать.

ответ

2

Возможно, вам что-то не хватает.

combo.store.getAt(0).data.id 
0

Попробуйте это.

Внутри COMBOBOX слушателей "afterrender":

var getState = combo.getState(), //get current combobox state 
    comboState = parseFloat(getState.value) - 1, 
    comboStore = combo.store; 

comboStore.on("load", function(s,rs) { 
    comboStore.each(function(record, key) { 
     if(key == comboState){ 
      //console.log(record); 
      alert(record.data.id); 
     } 
    }); 
}); 
Смежные вопросы