8

コードを使用してRadioGroupを作成しました

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

あるイベントでラジオボタンの1つをチェックしたい。どうやってするの?私は使ってみました:

radios.setValue(true, false);

しかし、それは機能していません。

4

6 に答える 6

14

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);
            }
        }
    ]
});
于 2013-12-23T08:51:09.937 に答える
11

radios.items.itemsは、ラジオグループ内のラジオボタンを返す必要があります。次に、それらのsetValue()関数を使用して、それらをチェックまたはチェック解除できます。

radios.items.items[index].setValue(true/false);
于 2011-05-06T08:39:36.453 に答える
6

たとえば、「Eメール」を選択します

radios.setValue({communication: 1});

一般的な使用法:

radioGroup_var.setValue({radioGroup_name: 'inputValue'});
于 2013-07-07T13:28:30.787 に答える
1

これは私のために働く

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

ここで、入力値はラジオボタンのinputValueフィールドの値である可能性があります

乾杯

于 2012-09-11T13:17:57.677 に答える
0

次のように、値の配列をsetValueメソッドに渡してみてください。

radios.setValue([true, false]);

これはExtJs3.xで機能しますが、ExtJs4についてはAPIを確認してください。

于 2011-05-06T08:40:03.870 に答える
0

これは古いスレッドですが、Googleは常にこれを最初に見つけるので、ここにソリューション(Ext 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}]) 場合は今すぐ動作するはずです。

于 2016-04-13T13:55:16.643 に答える