Ext TreePnael选中节点及获取选中的节点

function checkNode(node) {
//Ext.Msg.alert('提示',node.getUI().isChecked() );
uncheckParentNode(node);
checkChildNodes(node, node.getUI().isChecked());
}
function checkChildNodes(node,
checked) {
var nodeArray
= node.childNodes;
for (var i = 0; i < nodeArray.length; i++) {
nodeArray[i].getUI().checkbox.
checked = checked;
if (nodeArray[i].hasChildNodes())
checkChildNodes(nodeArray[i],
checked);
}
}
function uncheckParentNode(node) {
// todo unselected all children
if (node.parentNode != undefined) {
var
checked = getcheckcount(node) != ""; //递归中返回不了0,不知为什么
if (node.parentNode.getUI().checkbox != undefined) {
node.parentNode.getUI().checkbox.
checked = checked;
}
uncheckParentNode(node.parentNode);
}
}
function getcheckcount(node) {
var count
= 0;
var nodeArray
= node.parentNode.childNodes;
for (var i = 0; i < nodeArray.length; i++) {
if (nodeArray[i].getUI().isChecked()) {
count
++;
}
}
return count;
}
//获取选中节点
function getCheckedNode(node) {
var result
= "";
//判断根节点是否选中
if (node.getUI().checkbox.checked) {
if (node.id != "root") {
result
+= node.id + ",";
}
}
var treeNodes
= node.childNodes;
//遍历根节点下的所有子节点
for (var i = 0; i < treeNodes.length; i++) {
if (treeNodes[i].getUI().checkbox.checked) {
result
+= treeNodes[i].id + ",";
if (treeNodes[i].childNodes.length > 0) {
var tmp
= getCheckedNode(treeNodes[i]);
result
= tmp;
}
}
}
return result;
}

 

posted @ 2010-09-06 09:23  悠冉  阅读(1565)  评论(0编辑  收藏  举报