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