在一些系统管理,分配权限时可能经常需求构建树形菜单,然后选择部分功能点授权给用户
用下面的javascript脚本结合.net自带的树形控件,很方便的实现了多级选择。
<script language="javascript">
function window_onload()
{
document.all("treeMenu").attachEvent("oncheck",tree_oncheck);
}
//当树上的checkBox被选中时触发
function tree_oncheck()
{
//得到当前选中的node
var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex);
document.all("TreeIndex").value = node.getAttribute("ID");
//得到点击得节点checked的状态
var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked");
//alert(Pchecked);
//设置所有子节点的状态(全部选中或全部不选中)
setcheck(node,Pchecked);
//点击子,所有的根选中
setParentCheck(node);
//设置传给服务器端的值
// getNodeCheckValue(tree);
}
//点击子,所有的根选中
function setParentCheck(node)
{
var tempNode;
//得到父节点
tempNode=node.getParent();
if(tempNode!=null)
{
//选中
tempNode.setAttribute("Checked","true");
//递归
setParentCheck(tempNode);
}
}
//设置子节点选中
function setcheck(node,Pc)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(parseInt(ChildNode.length)==0)
{
return;
}
else
{
for(i=0;i<ChildNode.length;i++)
{
var cNode;
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pc);
if(parseInt(cNode.getChildren().length)!=0)
{
setcheck(cNode,Pc);
}
}
}
} <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i
</script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i
</script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i
</script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i
</script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i
</script>