Extjs4,获取Controller中的radiofield值

时间:2012-03-02 16:49:08

标签: extjs4

我的Tbar中有一个无线电场。

var orderListTbar = Ext.create('Ext.Toolbar',{
    id : 'orderListTbar',
    items : [
        '',{
            xtype : 'radiofield',
            name : 'searchType',
            value : 'order_name',
            boxLabel : 'Order Name'
        },'',{
            xtype : 'radiofield',
            name : 'searchType',
            value : 'order_no',
            boxLabel : 'Order No'
        },'',{
            xtype : 'radiofield',
            name : 'searchType',
            value : 'status',
            boxLabel : 'Status'
        }
.
.
.

我希望在我的控制器中获取无线电平台值。

Q1。是否可以将选中的过滤器添加到query(),然后如何添加?

var searchType = Ext.ComponentQuery.query("#orderListTbar [name=searchType]");

console.log(searchType);
console.log(searchType.length); // return 3

我试过了,

var searchType = Ext.ComponentQuery.query("#orderListTbar [name=searchType]:checked");

但它不起作用。

Q2。如何获得无线电输出值?

console.log(searchType[0].value); // return field name ,not value
console.log(searchType[0].initialConfig.value); // it return value

放“initialConfig”是对的,看起来很奇怪。

请指导我如何正确使用它们。

谢谢!

1 个答案:

答案 0 :(得分:3)

不要使用initialConfig属性,您应该尝试坚持使用API​​方法。您似乎试图查看您的无线电组中选择了哪些无线电。

您应该在每个无线电上使用inputValue配置,然后您可以使用getGroupValue方法查看选择了哪个,例如:

var orderListTbar = Ext.create('Ext.Toolbar',{
    id : 'orderListTbar',
    items : ['',{
            xtype : 'radiofield',
            name : 'searchType',
            inputValue: 'Order Name is selected!',
            value : 'order_name',
            boxLabel : 'Order Name'
        },'',{
            xtype : 'radiofield',
            name : 'searchType',
            inputValue: 'Order No is selected!',
            value : 'order_no',
            boxLabel : 'Order No'
        },'',{
            xtype : 'radiofield',
            name : 'searchType',
            inputValue: 'Status is selected!',
            value : 'status',
            boxLabel : 'Status'
        }, {
            text: 'Which one is selected?',
            handler: function() {
                var searchType = Ext.ComponentQuery.query("#orderListTbar [name=searchType]");
                console.log(searchType[0].getGroupValue());
            }
        }
    ]
});

根据选择的无线电“选择哪一个?”按钮将记录“订单名称被选中!”,“订单号被选中!”或“状态已被选中!”。