树节点选择测试

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
  <FORM name="subform" id="subform" METHOD=POST ACTION="">
1<INPUT TYPE="checkbox" NAME="ids" value="-1" xname="0" οnclick="xuan(this)"><br/>
&nbsp;1.1<INPUT TYPE="checkbox" NAME="ids" value="1" xname="-1" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;1.1.1<INPUT TYPE="checkbox" NAME="ids" value="11" xname="1" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;&nbsp;1.1.1.1<INPUT TYPE="checkbox" NAME="ids" value="111" xname="11" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;&nbsp;1.1.1.2<INPUT TYPE="checkbox" NAME="ids" value="112" xname="11" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;&nbsp;1.1.1.3<INPUT TYPE="checkbox" NAME="ids" value="113" xname="11" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;&nbsp;1.1.1.4<INPUT TYPE="checkbox" NAME="ids" value="114" xname="11" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;1.1.2<INPUT TYPE="checkbox" NAME="ids" value="12" xname="1" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;1.1.3<INPUT TYPE="checkbox" NAME="ids" value="13" xname="1" οnclick="xuan(this)"><br/>
&nbsp;&nbsp;1.1.4<INPUT TYPE="checkbox" NAME="ids" value="14" xname="1" οnclick="xuan(this)"><br/>
&nbsp;1.2<INPUT TYPE="checkbox" NAME="ids" value="2" xname="-1" οnclick="xuan(this)"><br/>
</FORM>
 </BODY>
<SCRIPT LANGUAGE="JavaScript"> 
 function xuan(input)
 {
  zhuaFu(input);
  zhuaZi(input);
 }
 function sfChecked(input){
  //得到当前的input的value
  var value = input.value;
  //抓到所有input
  var inputs = document.forms['subform'].elements;;
  //循环判断
  for(var i = 0;i<inputs.length;i++)
  {
   //抓到xname
   var name = inputs[i].getAttribute("xname");
   //如果xname和现在input 的value相等
   if(name==value && inputs[i].checked == true)
   {
    return true;
   }
  }
  return false;
 }

 //抓所有父input
 function zhuaFu(input)
 {
  //得到当前的input value
  var zhi = input.value;
  //如果value不等于-1  递归查找
  if(zhi != "-1")
  {
   //抓到xmane
   var xname = input.getAttribute("xname");
   var inp;
   //抓到所有input
   var inputs = document.forms['subform'].elements;
   //循环
   for(var i =0;i<inputs.length;i++)
   {
    //如果得到value  和xname相等则是当前的父id
    if(inputs[i].value==xname)
    {
     //抓到这个input
     inp = inputs[i];
     //设定这个选中
     inputs[i].checked=sfChecked(inputs[i]);
    }
   }
   //递归入口
   zhuaFu(inp);
  }
  //递归出口
  return;
 }

 //抓所有子input
 function zhuaZi(input)
 {
  //得到当前的input的value
  var value = input.value;
  //抓到所有input
  var inputs = document.forms['subform'].elements;;
  //循环判断
  for(var i = 0;i<inputs.length;i++)
  {
   //抓到xname
   var name = inputs[i].getAttribute("xname");
   //如果xname和现在input 的value相等
   if(name==value)
   {
    //设定抓到的input 选中状态等于当前的选中状态
    inputs[i].checked = input.checked;
    //递归入口
    zhuaZi(inputs[i]);
   }
  }
  //递归出口
  return;
 }
</SCRIPT>
</HTML>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值