Extjs Combo - 在afterrender函数中从商店获取价值

时间:2013-07-08 06:52:50

标签: extjs combobox extjs4 extjs4.1

我有一个组合框,我希望通过alert(combo.store.data[0].id);从服务器获取第一条记录的ID但是它不起作用

这是我的代码

        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 个答案:

答案 0 :(得分:2)

可能你错过了什么。

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

答案 1 :(得分:0)

试试这个。

内部组合框听众“后现代”:

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);
        }
    });
});