1

我正在创建一个无线电场,我需要在检查无线电场时创建一个事件。

正在使用的代码是:

items : [ {
            xtype : 'toolbar',
            docked : 'top',
            //id:'popupTitle',
            title : 'Send options',
            height : 30
        }, {
            xtype : 'radiofield',
            //  ui:'plain',
            id : 'r1',
            name : 'sendDoc',
            value : 'Default',
            label : 'Default',
            labelWidth : '50%',
            checked : true,
            //baseCls: 'x-plain',

            listeners : {
                check : function() {
                    var rad = Ext.getCmp('r1');
                    if (rad.isChecked()) {
                    }
                }

            }
        }, 
        {
            xtype : 'radiofield',
            name : 'sendDoc',
            id : 'r2',
            value : 'Source Workstep',
            label : 'Source Workstep',
            labelWidth : '50%',
            listeners : {
                check : function() {
                    var rad2 = Ext.getCmp('r2');
                    if (rad2.isChecked())   {
                        //alert("hi");
                        if (!this.workstepOverlay) {
                        this.workstepOverlay = Ext.Viewport.add({
                            xtype : 'workstepOverlay'
                        });
                        this.workstepOverlay.show();
                    }

                    }

                }

            }
        } ]

但这似乎不起作用。

我收到一条错误消息,提示“请求的键值不是对象”

我究竟做错了什么?

4

2 回答 2

1

监听检查事件。

当复选框被选中时触发。

...
listeners : { 
   check : function( radioFld, event, obj) {
         console.log(radioFld.isChecked());
   }
}
...
于 2012-05-17T09:57:42.710 回答
0

如果事件被触发,请尝试像这样访问您的无线电场:

check( radiofield, event, opts ){
    if(radiofield.isChecked()){

    }
}

希望这可以帮助

于 2012-05-17T09:51:40.400 回答