现在我要实现的功能是:
有棵人员的树,每个人名前面都有个复选框,
现在我有个javascript的函数data_insert(),他的作用是把所有复选框打了钩的人员,传送到另外一页。问题就是,我怎样在javascript里面实现这个功能?如何在html里面用javascript寻找每个节点。
PS:以前IE WEB control的树的节点名称好像与2005的不一样(在html页,就是客户端)

解决方案 »

  1.   

    data_insert()是另外一个button的onclick事件
      

  2.   

    急阿没有人用2005的树吗?这个javascript的搜索控件应该很多人都遇到的阿
      

  3.   

    实在不好意思,太久没来CSDN了
    <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>