Extjs Ext JS 4无线电组检查事件

Extjs Ext JS 4无线电组检查事件,extjs,radio-button,radio-group,ext4,Extjs,Radio Button,Radio Group,Ext4,我正在使用FormPanel中的xtype在ExtJS4中创建一个radioGroup。我正在尝试在检查收音机后立即启用/禁用文本字段 { xtype: 'radiogroup', fieldLabel: 'Enable / Disable ', columns: 2, vertical: true, items: [ {boxLabel: 'Enable', name: 'formtype', inputValue: '1'}, {boxLabel: 'Disable',

我正在使用FormPanel中的xtype在ExtJS4中创建一个radioGroup。我正在尝试在检查收音机后立即启用/禁用文本字段

{
xtype: 'radiogroup',
fieldLabel: 'Enable / Disable ',
columns: 2,
vertical: true,
items: [
     {boxLabel: 'Enable', name: 'formtype', inputValue: '1'},
     {boxLabel: 'Disable', name: 'formtype', inputValue:'2',checked:true},
    ]
 }

我不知道在哪里添加check/click事件的侦听器。提前感谢您。

您必须处理每个单选按钮上的“更改”事件。当单选按钮更改(选中)时,启用/禁用文本字段

举个例子:

Ext.create ('Ext.container.Container', {
    renderTo: Ext.getBody () ,
    items: [{
        xtype: 'textfield' ,
        id: 'tf' ,
        disabled: true ,
        fieldLabel: 'My Text'
    } , {
        xtype: 'radiogroup',
        fieldLabel: 'Enable / Disable ',
        columns: 2,
        vertical: true,
        items: [{
            boxLabel: 'Enable',
            name: 'formtype' , 
            inputValue: '1' ,
            listeners: {
                change: function (cb, nv, ov) {
                    if (nv) Ext.getCmp('tf').enable ();
                }
            }
        } , {
            boxLabel: 'Disable', 
            name: 'formtype', 
            inputValue:'2',
            checked: true ,
            listeners: {
                change: function (cb, nv, ov) {
                    if (nv) Ext.getCmp('tf').disable ();
                }
            }
        }]
    }]
});

Ciao

如果您在无线组本身(而不是每个按钮)上设置了侦听器更改事件,则只需处理一个事件。您的侦听器/处理程序将被调用并传递
newVal
oldVal
。然后,您可以抓取
newVal
作为所选的值。

我尝试以这种方式添加,但为什么它会显示警报()两次?侦听器:{“更改”:函数(字段,newValue,oldValue,eOpts){alert(this.items);}