3

我正在使用 extjs 4 作为单选按钮。代码如下

var mychkbxgrp = Ext.create('Ext.form.RadioGroup',{
    fieldLabel: 'Layer',
    columns: 1, 
    items:[{
     boxLabel: 'District', name: 'rb', inputValue: 'district',itemId:"DIS"
    },{
     boxLabel: 'SubDistrict', name: 'rb', inputValue: 'Subdistrict',itemId:"sub"
    },{
     boxLabel: 'Village', name: 'rb', inputValue: 'Village'
    },{
     boxLabel: 'Road', name: 'rb', inputValue: 'Roads'
    },{
     boxLabel: 'Point', name: 'rb', inputValue: 'POINT'
    }],
    listeners: {
     change : function(){ 
         alert(this.getValue());
        }
    }
    });

一旦选中,我想获取选中的单选按钮的值。为此,我使用了听众但没有工作。我是对的还是需要使用其他方式。请帮助我。

4

4 回答 4

3

您可以使用函数getChecked()

于 2014-04-03T07:36:58.223 回答
2

我已经尝试了很多解决方案,但只有一个有效。希望能帮助到你

listeners: {
     change : function(obj, value){ 
         alert(value.individual);
        }
    }
于 2013-11-27T13:12:04.050 回答
2

你的代码看起来不错。更改事件被触发。你唯一需要做的改变是

listeners: {
     change : function(obj, value){ 
         alert(value.rb);
        }
    }

其中 value.rb 将为您提供被选中的单选按钮的值。

于 2013-07-26T07:54:34.670 回答
0

这也可以写成通用的来处理你所有的广播组。值(在我的示例中使用 radioGroup)是 RadioGroup,因此您可以使用

获取检查()
像这样:

listeners: {
    change: radioGroupHandler
}

...

function radioGroupHandler(obj, radioGroup) {
    var checked = radioGroup.getChecked();

    if (checked.length) {
         alert(radioGroup.getChecked()[0].getValue());
    } else {
         alert('nothing checked');
    }
}
于 2017-06-16T16:40:33.303 回答