JavaScript对TreeView的操作

 
    
      JavaScript对TreeView的操作  
    
        
    
      <script   language="javascript">  
   
                <!--  
   
                //初始化选中节点  
   
                function   initchecknode()  
   
                {  
   
                              var   node=TreeView1.getTreeNode("1");  
   
                              node.setAttribute("Checked","true");  
   
                              setcheck(node,"true");    
   
                              FindCheckedFromNode(TreeView1);  
   
                }  
   
                               
   
                //oncheck事件  
   
                function   tree_oncheck(tree)  
   
                {  
   
                              var   node=TreeView1.getTreeNode(TreeView1.clickedNodeIndex);  
   
                              var   Pchecked=TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("checked");  
   
                              setcheck(node,Pchecked);  
   
                }  
   
     
   
                //选择具有焦点的结点  
   
                TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text")  
   
                 
   
                //设置子节点选中  
   
                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];  
   
                                                          if(parseInt(cNode.getChildren().length)!=0)  
   
                                                          {  
   
                                                                        setcheck(cNode,Pc);  
   
                                                          }  
   
                                                          cNode.setAttribute("Checked",Pc);  
   
                                            }  
   
                              }  
   
                }  
   
                 
   
                 
   
     
   
                //取得一个结点下所有选中结点的值  
   
                function   GetCheck(node)  
   
                {  
   
                              var   i;  
   
                              var   ChildNode=new   Array();  
   
                              ChildNode=node.getChildren();  
   
                              if(ChildNode)   //如存在子结点  
   
                              {  
   
                                            for(i=0;i<ChildNode.length;i++)  
   
                                            {  
   
                                                          cNode=ChildNode[i];  
   
                                                          if(cNode.getAttribute("Checked"))  
   
                                                          {  
   
                                                                        if(Form1.NodeState.value   =="")  
   
                                                                        {  
   
                                                                                      Form1.NodeState.value   =   cNode.getAttribute("NodeData");  
   
                                                                                      Form1.NodeState_text.value=   cNode.getAttribute("Text");  
   
                                                                        }  
   
                                                                        else  
   
                                                                        {  
   
                                                                                      Form1.NodeState.value   =   Form1.NodeState.value   +","   +   cNode.getAttribute("NodeData");  
   
                                                                                      Form1.NodeState_text.value   =   Form1.NodeState_text.value   +   ","   +   cNode.getAttribute("Text");  
   
                                                                        }  
   
                                                                         
   
                                                          }  
   
                                                          if(cNode.getChildren())  
   
                                                          {  
   
                                                                        GetCheck(cNode);  
   
                                                          }  
   
                                            }  
   
                 
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
     
   
     
   
                //如一个结点被选中,则其所有子结点选中  
   
                function   SetCheck(node,Pc)  
   
                {  
   
                              var   i;  
   
                              var   ChildNode=new   Array();  
   
                              ChildNode=node.getChildren();  
   
                              if(ChildNode)   //如存在子结点  
   
                              {  
   
                                            for(i=0;i<ChildNode.length;i++)  
   
                                            {  
   
                                                          cNode=ChildNode[i];  
   
                                                          cNode.setAttribute("Checked",Pc);  
   
                                                          if(cNode.getChildren())  
   
                                                          {  
   
                                                                        SetCheck(cNode,Pc);  
   
                                                          }  
   
                                            }  
   
                               
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
     
   
                 
   
                //如一个结点被选中,则其所有子结点选中(全选)  
   
                function   SetCheck(node,Pc)  
   
                {  
   
                              var   i;  
   
                              var   ChildNode=new   Array();  
   
                              ChildNode=node.getChildren();  
   
                              if(ChildNode)   //如存在子结点  
   
                              {  
   
                                            for(i=0;i<ChildNode.length;i++)  
   
                                            {  
   
                                                          cNode=ChildNode[i];  
   
                                                          cNode.setAttribute("Checked",Pc);  
   
                                                          if(cNode.getChildren())  
   
                                                          {  
   
                                                                        SetCheck(cNode,Pc);  
   
                                                          }  
   
                                            }  
   
                               
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
                 
   
                 
   
                //如一个结点下的所有结点均未选中,则其父结点处于未选中状态   
   
                function   UnCheck(node,Pc)  
   
                {  
   
                              if(Pc==false)  
   
                              {  
   
                                            if(node.getParent())    
   
                                            {    
   
                                                          cNode=node.getParent();    
   
                                                          cNode.setAttribute("Checked",false);  
   
                                                          SetUnCheck(cNode,Pc);  
   
                                            }    
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
                 
   
                 
   
                function   SetUnCheck(node,Pc)  
   
                {  
   
                              var   i;  
   
                              var   theNode;  
   
                              var   ChildNode=new   Array();  
   
                              ChildNode=node.getChildren();  
   
                                 
   
                              if(parseInt(ChildNode.length)!=0)  
   
                              {  
   
                                            for(i=0;i<ChildNode.length;i++)  
   
                                            {  
   
                                                          var   cNode;  
   
                                                          cNode=ChildNode[i];  
   
                                                          if(cNode.getAttribute("Checked")==true)  
   
                                                          {  
   
                                                                        theNode=cNode.getParent();  
   
                                                                        theNode.setAttribute("Checked",true);  
   
                                                          }  
   
                                                          if(parseInt(cNode.getChildren().length)!=0)  
   
                                                          {  
   
                                                                        SetUnCheck(cNode,Pc);  
   
                                                          }  
   
                                            }  
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
                 
   
                 
   
                //如一个结点被选中,则其所有父结点均处于选中状态  
   
                function   SetParentCheck(node,Pchecked)  
   
                {  
   
                              var   cNode;  
   
                              if(Pchecked==true)  
   
                              {  
   
                                            if(node.getParent())  
   
                                            {  
   
                                                          cNode=node.getParent();  
   
                                                          cNode.setAttribute("Checked",true);  
   
                                                          SetParentCheck(cNode,Pchecked);  
   
                                            }  
   
                              }  
   
                              else  
   
                              {  
   
                                            return;  
   
                              }  
   
                }  
   
     
   
     
   
                              //-->  
   
     
   
      </script>   
    
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值