6

我遵循了获取单选按钮表单的选定值的基本过程。

        ....
        xtype: 'radiofield',
        name: 'timespan',
        id: 'timespan',
        value: 7,
        checked: true,
        fieldLabel: 'Time Span',
        boxLabel: '7 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: '30',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: '30 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: '60',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: '60 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: 'all',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: 'All' ....

我使用过以下方法:

Ext.getCmp('filter_form').getForm().getValues()['timespan']

但是当我将它运行到控制台时,我得到的不是所选按钮的值,而是单词on. 是什么赋予了?!我尝试了几种不同的 getValues、getForm 等组合,但我总是以onor trueor结尾false。这里发生了什么?

4

2 回答 2

5

尝试设置inputValue收音机的属性。这是应该进入生成的输入元素的 value 属性的值,并且在作为表单的一部分提交时应该用作参数值。

{
        xtype          : 'radiofield',
        name           : 'timespan',
        inputValue     : '30',
        hideEmptyLabel : false,
        boxLabel       : '30 days'
}

那么它可以被访问为

Ext.ComponentQuery.query('[name=timespan]')[0].getGroupValue();

参考文档 getGroupValue

于 2012-09-06T17:41:51.670 回答
4

弄清楚了!原来我的 extjs 示例代码有错误!

value改为inputValue. 取自 Sencha Docs,inputValue是:

应该进入生成的输入元素的 value 属性的值,并且在作为表单的一部分提交时应该用作参数值。默认为:“开”

啊哈!!因为我没有指定“真实”值,所以它默认为on.

使用 extjs 示例/示例代码时要小心!

于 2012-09-06T17:59:55.763 回答