现在我要实现的功能是:
有棵人员的树,每个人名前面都有个复选框,
现在我有个javascript的函数data_insert(),他的作用是把所有复选框打了钩的人员,传送到另外一页。问题就是,我怎样在javascript里面实现这个功能?如何在html里面用javascript寻找每个节点。
PS:以前IE WEB control的树的节点名称好像与2005的不一样(在html页,就是客户端)
有棵人员的树,每个人名前面都有个复选框,
现在我有个javascript的函数data_insert(),他的作用是把所有复选框打了钩的人员,传送到另外一页。问题就是,我怎样在javascript里面实现这个功能?如何在html里面用javascript寻找每个节点。
PS:以前IE WEB control的树的节点名称好像与2005的不一样(在html页,就是客户端)
<script language="javascript">//Node的OnCheck事件处理
function Node_OnCheck()
{
var ThisTree=document.all.<%= TreeView1.ClientID%>;
var NodeIndex=ThisTree.clickedNodeIndex;
var Node=ThisTree.getTreeNode(NodeIndex);
var NodeChecked=Node.getAttribute("checked");
Node.setAttribute("checked",NodeChecked);
ThisTree.queueEvent("oncheck",NodeIndex);
if(Node.getChildren().length>0)
{
SetChildrenNode(Node);
}
SetParentNode(Node);
}//子Node的处理
function SetChildrenNode(Node)
{
var ThisTree=document.all.<%= TreeView1.ClientID%>;
var Nodes=new Array();
var NodeChecked=Node.getAttribute("Checked");
Nodes=Node.getChildren();
var i;
for(i=0;i<Nodes.length;i++)
{
Nodes[i].setAttribute("Checked",NodeChecked);
var NodeIndex=Nodes[i].getNodeIndex();
ThisTree.queueEvent("oncheck",NodeIndex);
if(Nodes[i].getChildren().length>0)
{
SetChildrenNode(Nodes[i]);
}
}
}//父Node的处理
function SetParentNode(Node)
{
var ThisTree=document.all.<%=TreeView1.ClientID%>;
var NodeIndex=Node.getNodeIndex();
var NodeChecked=Node.getAttribute("Checked");
var ParentNode=Node.getParent();
if(ParentNode!=null)
{
if(NodeChecked)
{
if(!ParentNode.getAttribute("Checked"))
{
ParentNode.setAttribute("Checked",true);
ThisTree.queueEvent("oncheck",ParentNode.getNodeIndex());
}
}
else
{
if(!CheckBrotherNode(Node))
{
if(ParentNode.getAttribute("Checked"))
{
ParentNode.setAttribute("Checked",false);
ThisTree.queueEvent("oncheck",ParentNode.getNodeIndex());
}
}
}
SetParentNode(ParentNode);
}
}//检查同级Node的Checked值,全部为false时返回false
function CheckBrotherNode(Node)
{
var BrotherNode=new Array();
var ParentNode=Node.getParent();
var NodeChecked=Node.getAttribute("Checked");
BrotherNode=ParentNode.getChildren();
var i;
for(i=0;i<BrotherNode.length;i++)
{
if(BrotherNode[i].getAttribute("Checked"))
{
return true;
}
}
return false;
}//TreeView的初始化
function InitTreeView()
{
var ThisTree=document.all.<%= TreeView1.ClientID%>;
var CheckedTrueNodes=new Array();
CheckedTrueNodes=GetTrueCheckedNode();
var i;
for(i=0;i<CheckedTrueNodes.length-1;i++)
{
var Node=ThisTree.getTreeNode(CheckedTrueNodes[i]);
Node.setAttribute("Checked",true);
ThisTree.queueEvent("oncheck",CheckedTrueNodes[i]);
}
}//分解字符串,得到由Checked值为true的Node的Index组成的Array
function GetTrueCheckedNode()
{
var CheckedTrueNodes=new Array();
var str_CheckedTrueNodes=document.all.<%= tmp_Data.ClientID%>.value;
CheckedTrueNodes=str_CheckedTrueNodes.split(",");
return CheckedTrueNodes;
}
</script>