2010-06-28 94 views
0

我在代碼中設置組合框的值有點麻煩。更改組合框的值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') 

將設置選擇框「工作地點」的價值?但它似乎沒有工作。

任何意見讚賞,謝謝。

回答

0

問題可能是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