javascript 访问treeview

 1.设置所选节点,如选中第二个节点  
  function   SetSelNode()  
  {  
  TreeView1.selectedNodeIndex="1";  

  }  
   
  2.得到所选节点的Text,ID或NodeData  
  function   GetAttribute()  
  {  
  alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text")); 

//或者 event.srcElement.innerText 
  
  }   

 替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData 

 

event.srcElement.TagName//适用于table获取td值

event.srcElement.innerText//适用于获取div span h1 等一系列的值

event.srcElement.value//适用于获取input type=text textarea input type=password的值

我的理解event.srcElement可以获取鼠标所在的位置的元素的值,也可以理解为事件源


   
    
  3.修改节点属性,如修改第一个节点的Text  
  function   ModifyNode()  
  {  
  var   node=TreeView1.getTreeNode("0");  
  node.setAttribute("Text","hgknight");  
  }  
   
  4.得到点击节点  
  function   TreeView1.onclick()  
  {  
  alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text"));  
  }  
   
  5.添加节点  
  function   AddNode()  
  {  
  var   node=TreeView1.createTreeNode();  
  node.setAttribute("Text","hgknight");  
  TreeView1.add(node);  
  }

  6.TreeNode.getNodeIndex()
  7.TreeView.queueEvent('oncheck',TreeNode.getNodeIndex());
  8.node.getParent()
  9.node.getChildren();


  <script language="C#" runat="server">
 private void Page_Load(object sender, System.EventArgs e)
 {  
  TreeView1.Attributes.Add("oncheck","tree_oncheck(this)");
 }
  </script>


  <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=node.getAttribute("checked");
  setcheck(node,Pchecked);
 }
 
 //设置子节点选中
 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;
  }
 }

 
 
 function Check_edit()
 {//进行修改前的验证
 
  var s;
  var ss;
  s=Form1.NodeState.value;
  ss=s.split(",")
  if(ss[0]=="")
  {
   alert("在进行'修改'操作之前请进行选择!");
   return false;
  }
  if(ss.length>1)
  {
   alert("在进行'修改'操作时只能选择一项!");
   return false;
  }
 
 }
 
 
 //进行删除时的验证
 function Check_dele()
 {
  var s;
  var ss;
  s=Form1.NodeState.value;
  ss=s.split(",")
  if(ss[0]=="")
  {
   alert("在进行'删除'操作之前请进行选择!");
   return false;
  }
 
 }
 
 
 //进行修改前的验证
 function Check_edit()
 {
 
  var s;
  var ss;
  s=Form1.NodeState.value;
  ss=s.split(",")
  if(ss[0]=="")
  {
   alert("在进行'修改'操作之前请进行选择!");
   return false;
  }
  if(ss.length>1)
  {
   alert("在进行'修改'操作时只能选择一项!");
   return false;
  }
 
 }
 
 
 //进行删除时的验证
 function Check_dele()
 {
 
  var s;
  var ss;
  s=Form1.NodeState.value;
  ss=s.split(",")
  if(ss[0]=="")
  {
   alert("在进行'删除'操作之前请进行选择!");
   return false;
  
  }
  else
  {
   if(!confirm("你真的要删除吗?"))
   {
    return false;
   }
  }
 }
 
 
 //进行添加操作时的验证
 function Check_add()
 {
  var s;
  var ss;
  s=Form1.NodeState.value;
  ss=s.split(",")
  if(ss[0]=="")
  {
   alert("在进行'添加'操作之前请选择上级模块!");
   return false;
  }
  if(ss.length>1)
  {
   alert("在进行'添加'操作时只能选择一项!");
   return false;
  }
 }
 
 //-->

  </script>

posted on 2008-11-24 10:47  青春的虎子  阅读(1618)  评论(0编辑  收藏  举报

导航