width?:?windowWidth?/?3,
height?:?windowHeight,
title?:?"測試",
root?:?new?Ext.tree.AsyncTreeNode(?{
text?:?"請選擇功能模塊",
id?:?'root',
children?:?[?{
text?:?"用戶管理", checked?:?false, children?:?[?{ text?:?"添加用戶", checked?:?false, leaf:true },?{ text?:?"修改信息", checked?:?false, leaf:true },?{ text?:?"刪除用戶", checked?:?false, leaf:true },?{ text?:?"分配角色", checked?:?false, leaf:true },?{ text?:?"充值密碼", checked?:?false, leaf:true }?]}]
}),
autoScroll?:?true,
animate?:?true,
lines?:?false,
collapseMode?:?"mini",
collapsible?:?true,
layoutConfig?:?{
animate?:?true
},
split?:?true,
listeners?:?{
checkchange?:?function(n,?flag)?{
if?(flag)?{ if?(n.parentNode.id?!=?'root')?{n.parentNode.getUI().checkbox.checked?=?true;
if?(n.parentNode.parentNode.id?!=?null
&&?n.parentNode.parentNode.id?!=?"" &&?n.parentNode.parentNode.id?!=?'root')?{n.parentNode.parentNode.getUI().checkbox.checked?=?true;
}
} }?else?{ if(n.parentNode.id?!=?'root'){if(flag?==?false){
checkChild(n);
}
}elseuncheckNode(n);
}}
}
}); function?checkChild(node){var?pNode?=?node.parentNode;
for?(?var?i?=?0;?i?<?pNode.childNodes.length;?i++)?{
if(pNode?!=?node?&&?pNode.childNodes[i].getUI().checkbox.checked?==?true)?return;}
pNode.getUI().checkbox.checked?=?false;
} function?uncheckNode(node)?{if?(node.hasChildNodes)?{
for?(?var?i?=?0;?i?<?node.childNodes.length;?i++)?{
node.childNodes[i].getUI().checkbox.checked?=?false; uncheckNode(node.childNodes[i]);}
}
} var?windowWidth?=?window.screen.availWidth; var?style?=?'margin-top:50px;margin-left:150px;'; var?el?=?Ext.get('auto-center').applyStyles(style); tree.render(el);});
</script> </head> <body> <div?id='auto-center'></div> </body></html>
簡單給妳做了個,節點選擇的功能如下:
勾選子節點,父節點會壹並選中。
取消勾選父節點,其下所有子節點會取消選中。
子節點全部取消選中,則父節點會自動?取消選中。(妳的需求)