如何在ExtJs中获得组合框的valueField值

时间:2012-08-31 07:29:45

标签: extjs extjs4

我在Extjs中创建了一个组合框,我在其中显示报告的名称,当用户选择任何报告时,应该发布报告的后端ID。我无法得到报告的身份。我正在使用商店来填充组合框中的数据。

我在Extjs中创建了一个模型,如

Ext.define('Report', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'ReportId', type: 'int'},
        {name: 'DisplayName',  type: 'string'}
    ]
});

商店就像

 var reportStore = Ext.create('Ext.data.Store', {
    model: 'Report',
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: 'reportlist.json'
});

comboBox喜欢

var comboReports = Ext.create('Ext.form.field.ComboBox', {
    displayField: 'DisplayName',
   valueField: 'ReportId',
   fieldLabel: 'Report',
    store: reportStore,
    queryMode: 'local',
    emptyText: 'Select a report',
    selectOnFocus: true,
    listeners: {
            select: function(combo, selection) {
                if (combo.getValue()) {
        //showData(reportId); here i want the id of seleted report to passed.

                }
            }
        }
    });

1 个答案:

答案 0 :(得分:7)

实际上combo.getValue()会返回所选项目的reportId。 showData(combo.getValue());就是您所需要的。