extJS RadioGroup setValue() 函数

发布于 2024-11-05 13:48:30 字数 402 浏览 5 评论 0原文

代码创建了 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);

但它不起作用。

I have created RadioGroup using the code

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

I want to check one of the radio button on some event. How to do it?
I tried using:

radios.setValue(true, false);

but it is not working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

浅语花开 2024-11-12 13:48:30

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

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);
            }
        }
    ]
});
岁月苍老的讽刺 2024-11-12 13:48:30

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

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

radios.items.items should return you the radio buttons inside the radio group. You can then use the setValue() function on them to check or uncheck them.

radios.items.items[index].setValue(true/false);
别在捏我脸啦 2024-11-12 13:48:30

选择“电子邮件”,例如

radios.setValue({communication: 1});

一般用途:

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

to select 'E-Mail',for example

radios.setValue({communication: 1});

General use:

radioGroup_var.setValue({radioGroup_name: 'inputValue'});
悲喜皆因你 2024-11-12 13:48:30

这对我有用

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

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

干杯

This works for me

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

Where input value could be the value of the inputValue field of the radio button

Cheers

入怼 2024-11-12 13:48:30

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

radios.setValue([true, false]);

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

Try passing an array of values to the setValue method like so:

radios.setValue([true, false]);

This will work in ExtJs 3.x not sure about ExtJs4 check the api.

凉宸 2024-11-12 13:48:30

这是一个旧线程,但 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}])
现在应该可以工作了。

This is an old thread, but Google always finds this first, so I'll just throw my solution (on Ext 3.4.1.1) in here.

Try this:

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); or for a bigger form panel formPanel.getForm().setValues([{communication: 2}])
should work now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文