注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Start Know

自分を信じて、自分で一定でいけます

 
 
 

日志

 
 

JavaScript对TreeView的操作全解   

2008-09-15 14:22:25|  分类: JavaScript学习日 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 <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=TreeView1.getTreeNode(TreeView1.clickedNodeIndex).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>

  评论这张
 
阅读(447)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017