ExtJS 4 treepanel与复选框问题 [英] ExtJS 4 treepanel with checkbox issue
问题描述
我们正在使用treepanel与我们的应用程序中的复选框。看起来像:
We are using treepanel with check box in our application.It seems like:
var treepanel = {
id:'tree',
xtype:'treepanel',
store:layerStore,
rootVisible:false,
listeners :{
checkchange:function(node,check){
if(node.get('id')=='teacher'){
alert (你选择了教师节点);
} else if(node.get('id')=='student'){alert('你选择了学生节点'); }
}
}
};
var treepanel = {
id : 'tree',
xtype : 'treepanel',
store : layerStore,
rootVisible : false,
listeners : {
checkchange : function(node,check){
if(node.get('id') == 'teacher'){
alert('you have selected teacher node');
}else if(node.get('id') == 'student'){ alert('you have selected student node'); }
}
}
};
LayerStore代码:
LayerStore code:
var layerStore = Ext.create('Ext.data.TreeStore',{
root : {
children : [
{
text : 'teacher layer',
id : 'teacher',
checked : false
},{
text : 'Student layer',
id : 'student',
checked : false
}]
}
});
现在,当我们检查特定的复选框时,我收到警报消息。我的问题是,如果我们取消选中复选框,那么它必须显示警报,就像你已经选择了一个特定的层。请帮助我。
Now,i am getting the alert message when we check on the particular checkbox.My problem is that if we uncheck the checkbox then it has to display the alert like you has unselected a particular layer.Please help me.
推荐答案
我想你必须将'checkchange'处理程序改为:
I quess You have to change your 'checkchange' handler to this:
checkchange : function(node,check){
var s = (!check && 'un' || '' ) + 'selected';
if(node.get('id') == 'teacher'){
alert('you have '+s+' teacher node');
}else if(node.get('id') == 'student'){ alert('you have '+s+' student node'); }
}
这篇关于ExtJS 4 treepanel与复选框问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!