古詩詞大全網 - 古詩大全 - EXTJS的Tree,當子節點全部取消,父節點也取消?求代碼!!

EXTJS的Tree,當子節點全部取消,父節點也取消?求代碼!!

<html>

<head>

<meta?http-equiv="content-type"?content="text/html;?charset=utf-8"?/>

<link?rel="stylesheet"?type="text/css"?href="ext/resources/css/ext-all.css"?/>

<script?type="text/javascript"?src="ext/adapter/ext/ext-base.js"></script>

<script?type="text/javascript"?src="ext/ext-all.js"></script>

<script?type="text/javascript">

Ext.onReady(function()?{

var?windowWidth?=?1000;

var?windowHeight?=?500;

var?tree?=?new?Ext.tree.TreePanel({

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);

}

}else

uncheckNode(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>

簡單給妳做了個,節點選擇的功能如下:

勾選子節點,父節點會壹並選中。

取消勾選父節點,其下所有子節點會取消選中。

子節點全部取消選中,則父節點會自動?取消選中。(妳的需求)