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

更改组合框的值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定义了相同的idhiddenName。下面

ExtJS (now Sencha) API documentation状态:

hiddenName:字符串

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

注意:隐藏字段的ID也将 默认为该名称,如果hiddenId是 未指定。组合框ID和 hiddenId应该不同,因为没有 两个DOM节点应该共享相同的 ID。所以,如果组合框名称和隐藏名称是相同的,则应该指定一个唯一的hiddenId 。

所以,你应该尝试给你的Combobox一个独特的hiddenId,看看它是否工作。

+0

啊!我应该仔细看看文档!非常感谢你。 – roobotta 2010-06-29 08:23:56