组合框extjs的设置值

Posted

技术标签:

【中文标题】组合框extjs的设置值【英文标题】:setting value of a combobox extjs 【发布时间】:2013-04-29 14:08:41 【问题描述】:

这是我的组合模型

Ext.define('ExtJS.myApp.ComboModel', 
    extend: 'Ext.data.Model',
    alias: 'widget.combomodel',
    fields: [
         name: 'ID', type: 'int' ,
         name: 'title', type: 'string' 
     ]
);

这是组合商店

   this.comboStore = Ext.create('Ext.data.Store', 
        model: 'ExtJS.myApp.ComboModel',
        autoLoad: true,
        scope: this,
        proxy: 
            type: 'ajax',
            scope: this,
            url: 'myApp/GetRecords',
            reader: 
                type: 'json',
                root: 'data'
            
        
    );

    this.myComboBox = Ext.create('Ext.form.ComboBox', 
        store: this.comboStore,
        queryMode: 'local',
        displayField: 'title',
        valueField: 'ID'
    );

这是我为我的商店获得的 json 对象:

"ID":"111","title":"Ext Page 1"

现在当我尝试像这样设置组合框的值时。 this.myComboBox.setValue('111');

组合框显示“111”而不是“Ext Page 1”

在设置 valueField 时,我需要做什么才能使组合框显示 displayField。例如。我想将值设置为“Ext Page 1”供用户查看,但是当保存该值时,我实际上想保存“111”

【问题讨论】:

【参考方案1】:

试试:

this.myComboBox.setValue(111);

代替:

this.myComboBox.setValue('111');

【讨论】:

以上是关于组合框extjs的设置值的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定的 extjs 组合值设置为另一个组合框

extjs 5 将值设置为具有远程值的组合框时出错

extjs:加载时如何设置组合框的值

如何在具有嵌套数据的网格中设置组合框值? Extjs 4.2 Mvc

ExtJS 5 组合框 - 提交值和文本

ExtJS 组合框:值字段在 postdata 中不可用