代码改变世界

js控制页面,checkbox等

2008-04-23 14:47  Kevin Zhou  阅读(204)  评论(0编辑  收藏  举报

  <script type = "text/javascript" >
   var num = new Array();
   InitCheckbox(frm);
   
   function InitCheckbox(frm)
   {
       var chb = document.getElementsByName("checkrightsall");      
    for(var i=0;i<=chb.length;i++)
    {
        for(var k=i;k<chb.length;k++)
        {
            num[k] = chb[i].value.toString();
        }
        //num[i] = chb[i].value.toString();
     //var cb= chb[i];
     //num[i] = chb[i].value.toString().substring(0,3);  
    }
    
    for(var j=0;j<num.length;j++)
    {
        InitParentCheckbox(num[j]);  
        //alert(num[j]);
    }
   }
   
   function InitParentCheckbox(whchb)
   {
       var ch_child = document.getElementsByName("checkrights");
       var ch_zoneparent = document.getElementById("ch"+whchb);
       var mtotle =0; //区域checkbox总数
       var mchecked =0; //区域checkbox选中数
       for(var m=0;m<ch_child.length;m++)
       {
           if(ch_child[m].value.toString().substring(0,3) == whchb.toString())
           {
      mtotle++;
      if(ch_child[m].checked)
      {
       mchecked++;
      }
           }
       }
    //if(ch_child[m].checked == false)
    if(mchecked < mtotle && mchecked !=0)
    {
     //alert(mchecked);
     ch_zoneparent.checked = false;
     InitDivStyle(whchb,false);
    }
    //else if(ch_child[m].checked == true)
    else if(mchecked == mtotle)
    {
     ch_zoneparent.checked = true;
     InitDivStyle(whchb,true);
    }
    //else
    else if(mchecked == 0)
    {
     ch_zoneparent.checked = false;
     InitDivStyle(whchb,true);
    }
   }
   
   function InitDivStyle(divnum,divstyle)
   {
             var div_zone=eval("div_"+divnum);
             var span_zone = eval("span"+divnum);
             if(divstyle == true)
             {
              div_zone.style.display = "none";
              span_zone.style.backgroundImage= "url(../image/plus.png)";
          }
          else if(divstyle == false)
          {          
                 div_zone.style.display = "";
                 span_zone.style.backgroundImage= "url(../image/minus.png)";
             }
            
             //alert(divnum);

   }
   
  </script>