更改组合框的值Ext.form.ComboBox Ext JS
问题描述:
我在代码中设置组合框的值有点麻烦。更改组合框的值Ext.form.ComboBox Ext JS
我有以下的选择框
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')
将设置选择框“工作地点”的价值?但它似乎没有工作。
任何意见赞赏,谢谢。
答
问题可能是Ext.getCmp
呼叫失败,因为您已经为ComboBox
定义了相同的id
和hiddenName
。下面
ExtJS (now Sencha) API documentation状态:
hiddenName:字符串
如果指定,与一个 隐藏的表单字段此名称是动态生成到 存储该字段的数据值。 ...
注意:隐藏字段的ID也将 默认为该名称,如果hiddenId是 未指定。组合框ID和 hiddenId应该不同,因为没有 两个DOM节点应该共享相同的 ID。所以,如果组合框名称和隐藏名称是相同的,则应该指定一个唯一的hiddenId 。
所以,你应该尝试给你的Combobox
一个独特的hiddenId
,看看它是否工作。
啊!我应该仔细看看文档!非常感谢你。 – roobotta 2010-06-29 08:23:56