2011-05-06 94 views
8

我已經使用的代碼ExtJS的RadioGroup中的setValue()函數

var radios = new Ext.form.RadioGroup({ 
    columns : 2, 
     items: [ 
      {boxLabel: 'E-Mail', name: 'communication', inputValue: 1}, 
      {boxLabel: 'Nagios', name: 'communication', inputValue: 2} 
     ] 
    }); 

我要檢查一些事件的單選按鈕之一創建RadioGroup中。怎麼做? 我試過使用:

radios.setValue(true, false); 

但它不工作。

回答

9

radios.items.items應該返回您收音機組內的單選按鈕。然後,您可以使用它們上的setValue()函數來檢查或取消選中它們。

radios.items.items[index].setValue(true/false); 
+4

但我們如何使用RadioGroup的setValue()?這適用於個人,但整體組 – applepie 2012-07-23 22:58:20

0

嘗試傳遞值的數組給setValue方法,像這樣:

radios.setValue([true, false]); 

這將在ExtJS的3.X不知道ExtJs4檢查api工作。

1

這對我的作品

radios.setValue({communication:<input value>}); 

輸入值可能是單選按鈕的inputValue將

乾杯

6

選擇「電子郵件」的價值,例如

radios.setValue({communication: 1}); 

一般用:

radioGroup_var.setValue({radioGroup_name: 'inputValue'}); 
12

http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.form.RadioGroup-method-setValue

var form = Ext.create('Ext.form.Panel', { 
    title  : 'RadioGroup Example', 
    width  : 300, 
    bodyPadding : 10, 
    renderTo : Ext.getBody(), 
    items  : [ 
     { 
      xtype  : 'radiogroup', 
      fieldLabel : 'Group', 
      items  : [ 
       { boxLabel : 'Item 1', name : 'rb', inputValue : 1 }, 
       { boxLabel : 'Item 2', name : 'rb', inputValue : 2 } 
      ] 
     } 
    ], 
    tbar  : [ 
     { 
      text : 'setValue on RadioGroup', 
      handler : function() { 
       // Set the value of the 'rb' radio butons 
       var val = {rb : 2}; 
       form.child('radiogroup').setValue(val); 
      } 
     } 
    ] 
}); 
+4

這比接受的答案更好 – Black 2014-04-08 10:01:37

0

這是一個古老的線程,但谷歌總能找到這第一個,所以我只是把我的解決方法(在內線3.4.1.1)在這裏。

試試這個:

var radios = new Ext.form.RadioGroup({ 
    columns: 2, 
    name: 'communication', // <== ADD THE NAME AGAIN ON HERE 
    items: [ 
     {boxLabel: 'E-Mail', name: 'communication', inputValue: 1}, 
     {boxLabel: 'Nagios', name: 'communication', inputValue: 2} 
    ] 
}); 

radios.setValue(2);或更大的形式面板formPanel.getForm().setValues([{communication: 2}]) 現在應該工作。