extJS RadioGroup setValue()函数

时间:2011-05-06 07:57:45

标签: extjs radio-group setvalue

我使用代码

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

我想检查某个事件上的一个单选按钮。怎么做? 我尝试使用:

radios.setValue(true, false);

但它不起作用。

6 个答案:

答案 0 :(得分:13)

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);
            }
        }
    ]
});

答案 1 :(得分:11)

radios.items.items应该返回收音机组内的单选按钮。然后,您可以对它们使用setValue()函数来检查或取消选中它们。

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

答案 2 :(得分:6)

选择“电子邮件”,例如

radios.setValue({communication: 1});

一般用途:

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

答案 3 :(得分:1)

这对我有用

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

其中输入值可以是单选按钮的 inputValue 字段的值

干杯

答案 4 :(得分:0)

尝试将值数组传递给setValue方法,如下所示:

radios.setValue([true, false]);

这将在ExtJs 3.x中有效,不确定ExtJs4检查api

答案 5 :(得分:0)

这是一个老线程,但谷歌总是首先找到它,所以我将在这里抛出我的解决方案(在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}]) 现在应该工作。