我在代码中设置组合框的值时遇到了一些麻烦。
我有以下选择框
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')
将选择框的值设置为“工作地址”?但它似乎不起作用。
感谢任何建议,谢谢。
答案 0 :(得分:0)
问题可能是Ext.getCmp
调用失败,因为您为id
定义了相同的hiddenName
和ComboBox
。
ExtJS (now Sencha) API documentation声明如下:
hiddenName:String
如果指定,则隐藏表单字段 此名称是动态生成的 存储字段的数据值。 ...
注意:隐藏字段的id也会 如果hiddenId是默认的,则默认为此名称 未标明。 ComboBox id和 hiddenId应该是不同的,因为没有 两个DOM节点应该共享相同的内容 ID。所以,如果ComboBox名称和 hiddenName是一样的,你应该 指定一个唯一的hiddenId。
因此,您应该尝试为Combobox
提供一个唯一的hiddenId
,然后查看它是否有效。