转:Extjs选中当前节点后自动选中子节点和父节点

//根据当前节点选中父节点及其子节点 
tree.on('checkchange', function(node, flag) {
//获取所有子节点
node.cascade( function( node ){
node.attributes.checked = flag;
node.ui.checkbox.checked = flag;
return true;
});
//获取所有父节点
var pNode = node.parentNode;
for(; pNode.id !="root"; pNode = pNode.parentNode ){
if (flag || tree.getChecked(id, node.parentNode) == "") {
pNode.ui.checkbox.checked = flag;
pNode.attributes.checked = flag;
}
}
});


方法2(参考)
//	    var childbool=true;
// tree1.on({
//
// 'checkchange':function(node,checked){
//
//
//
// var parentNode=node.parentNode;
//
//
//
// if(checked){
//
// /**
//
// * 节点为真时,此节点的子节点,判断此节点的父节点时,判断父节点的子节点是否全部为
//
// * 真,如果全部为真,则此父节点为真,如果不为真则不变 全部为真
//
// */
//
// if(childbool){
//
// var childNodes=node.childNodes;
//
//
// for(var i=0;i<childNodes.length;i++){
//
// var childNode=childNodes[i];
//
// if(!childNode.attributes.checked){
//
// childNode.ui.toggleCheck();
//
// }
//
// }
// }
//
// /**
//
// * 此如果此节点又父节点,则判断此父节点的子节点是否全为真 如果全为真则此父节点也为真
//
// */
//
// if(parentNode&&!parentNode.attributes.checked){
//
// childbool=false;
//
// parentNode.ui.toggleCheck();
//
//
// }
// else childbool=true;
//
//
// }else{
//
//
//
// var childNodes=node.childNodes;
//
// for(var i=0;i<childNodes.length;i++){
//
// var childNode=childNodes[i];
//
// if(childNode.attributes.checked){
//
// childNode.ui.toggleCheck();
//
// }
//
// }
//
// }
//
//
//
// }
//
// });
//



// function ParentState(parentNode)
// {
//
// var brothNodes=null;
//
// if(parentNode!=null) //兄弟接点
// brothNodes=parentNode.childNodes;
// else return false;
//
// var brothflag=0;
//
// for(var i=0;i<brothNodes.length;i++){
//
// var brothNode=brothNodes[i];
//
// if(brothNode.attributes.checked){
//
// break;
//
// }
// else brothflag++;
//
// }
// if(brothflag==brothNodes.length){ //说明兄弟节点没选种的
// if(parentNode.attributes.checked)
// parentNode.ui.toggleCheck();
// ParentState(parentNode.parentNode);
// }
// }
//
//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值