Extjs4 尝试获取复选框以侦听按钮的切换事件

Extjs4 尝试获取复选框以侦听按钮的切换事件,extjs4,Extjs4,我是ExtJS新手,一般来说,我的javascript技能很低。为了学习ExtJS4,我正在做一些作业,但这一项我做不到。我试图让听众在切换切换按钮时选中一个复选框(好吧,所有复选框,但目前只有一个复选框)。无论我如何编写代码,Firebug都会出现类似的错误: 有没有想过我做错了什么以及如何改正 谢谢 var togglebtn = Ext.create('Ext.button.Button', { enableToggle: true , text: 'Check

我是ExtJS新手,一般来说,我的javascript技能很低。为了学习ExtJS4,我正在做一些作业,但这一项我做不到。我试图让听众在切换切换按钮时选中一个复选框(好吧,所有复选框,但目前只有一个复选框)。无论我如何编写代码,Firebug都会出现类似的错误:



有没有想过我做错了什么以及如何改正

谢谢

    var togglebtn = Ext.create('Ext.button.Button', {
    enableToggle: true
    , text: 'Checked'
});

var mychkbxgrp = Ext.create('Ext.form.CheckboxGroup', {
    columns: 3
    , alias: 'mycheckboxgroup'
    , items:[{
        boxLabel: 'Item1'
        , name: 'rb'
        , inputValue: '1'
        , listeners:{
            togglebtn.toggle: function(tog, true){
                setValue: true
            }
        }
    },{
        boxLabel: 'Item2', name: 'rb', inputValue: '2'
    },{
        boxLabel: 'Item3', name: 'rb', inputValue: '3'
    }]      
});

Ext.create('Ext.toolbar.Toolbar', {
    renderTo: document.body
    , width: 600
    , height: 40
    , items:[{
        xtype: 'form'
        , height: 30
        , width: 180
        , bodyPadding: 4
        , items:[
            mychkbxgrp
        ]
    }
    , togglebtn
    ]
});

事件的AFAIK处理程序必须是函数,并且必须为此对象定义。您正在尝试在复选框定义内设置切换处理程序,而它应该在按钮上。 下面是该侦听器的示例实现

var togglebtn = Ext.create('Ext.button.Button', {
    enableToggle: true, 
    text: 'Checked',
    listeners: {
        toggle: function(sender, checked){
            var container = sender.findParentByType(); // find parent container
            var items = container.query('checkboxfield'); // find checkboxes
            Ext.each(items, function(i){ // iterate through checkboxes
                i.setValue(checked); // check/uncheck
            });
        }
    }
});
并且必须删除
togglebtn.toggle:function(tog,true){
setValue:true
}
来自复选框定义

工作样本:

var togglebtn = Ext.create('Ext.button.Button', {
    enableToggle: true, 
    text: 'Checked',
    listeners: {
        toggle: function(sender, checked){
            var container = sender.findParentByType(); // find parent container
            var items = container.query('checkboxfield'); // find checkboxes
            Ext.each(items, function(i){ // iterate through checkboxes
                i.setValue(checked); // check/uncheck
            });
        }
    }
});