更改组合框Ext.form.ComboBox Ext JS的值

时间:2010-06-28 15:21:26

标签: javascript extjs

我在代码中设置组合框的值时遇到了一些麻烦。

我有以下选择框

new Ext.form.ComboBox({
             id: 'address_type',
             name: 'address_type',
             editable: false,
             disableKeyFilter: true,
             forceSelection: true,
             fieldLabel: 'Type',
             emptyText: 'Please Select',
             triggerAction: 'all',
             mode: 'local',
             store: new Ext.data.SimpleStore({
              id: 0,
              fields: ['value', 'text'],
              data : [['Home', 'Home Address'], ['Work', 'Work Address']]
             }),
             valueField: 'value',
             displayField: 'text',
             hiddenName: 'address_type'
            })

如果我执行了那么肯定:

Ext.getCmp('address_type').setValue('Work')

将选择框的值设置为“工作地址”?但它似乎不起作用。

感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:0)

问题可能是Ext.getCmp调用失败,因为您为id定义了相同的hiddenNameComboBox

ExtJS (now Sencha) API documentation声明如下:

  

hiddenName:String

     

如果指定,则隐藏表单字段   此名称是动态生成的   存储字段的数据值。 ...

     

注意:隐藏字段的id也会   如果hiddenId是默认的,则默认为此名称   未标明。 ComboBox id和   hiddenId应该是不同的,因为没有   两个DOM节点应该共享相同的内容   ID。所以,如果ComboBox名称和   hiddenName是一样的,你应该   指定一个唯一的hiddenId。

因此,您应该尝试为Combobox提供一个唯一的hiddenId,然后查看它是否有效。