脚本实现CheckBox父选中,子全选中,子选中父也选中!

<FORM id=weaver name=frmmain action="DocUserDefaultOperation.jsp" method=post >
<input type="hidden" name="id" value=1>

<table class=Form>
  
<tr class=Section>
          
<TH colSpan=2>字段</TH>
  
</tr>
  
<TR class=Separator>
        
<TD class=Sep1 colSpan=2></TD>
  
</TR>
  
<tr class=field>
      
<td width="50%">
          
<input type="checkbox" name="hascreater" value="1" checked >
          所有者
      
</td>
      
<td width="50%">
          
<input type="checkbox" name="hasdocid" value="1" checked >
          标识
      
</td>
  
</tr>
  
<tr class=field>
      
<td width="50%">
          
<input type="checkbox" name="hascreatedate" value="1" checked >
          创建日期
      
</td>
      
<td width="50%">
          
<input type="checkbox" name="hascategory" value="1" checked >
          主目录/分目录/子目录
      
</td>
  
</tr>
  
<tr class=field>
      
<td width="50%">
          
<input type="checkbox" name="hascreatetime" value="1" checked >
          修改日期时间
      
</td>
      
<td width="50%">
          
<input type="checkbox" name="hasreplycount" value="1" checked >
          显示回复总数
      
</td>
  
</tr>
  
<tr class=field>
      
<td width="50%">&nbsp;</td>
      
<td width="50%">
          
<input type="checkbox" name="hasaccessorycount" value="1" checked >
          显示附件总数
      
</td>
  
</tr>
  
<tr class=Section>
          
<TH colSpan=2>显示</TH>
  
</tr>
  
<TR class=Separator>
        
<TD class=Sep1 colSpan=2></TD>
  
</TR>
  
<tr class=field>
      
<td>
      每页记录
      
<input type="text" class=saveHistory name="numperpage" value=50 size="3" maxlength=2 onKeyPress="ItemCount_KeyPress()" onBlur='checknumber1(this)'>
      条

      
</td>
  
</tr>
  
  
<tr class=Section>
          
<TH colSpan=2>主目录 - 目录</TH>
  
</tr>
  
<TR class=Separator>
        
<TD class=Sep1 colSpan=2></TD>
  
</TR>
  
<tr>
      
<td width="50">主目录</td>
      
<td width="50%"></td>
  
</tr>
  
<tr>
      
<td width="50%" align="center">分目录</td>
      
<td width="50%"></td>
  
</tr>
  
<tr><td colspan=2></td></tr>
  
<TR><TD class=Sep1 colSpan=2></TD></TR>
  
  
<tr class=field>
        
<td width="50%" align=left valign=top>
        
     
<table class=Form>
        
<tr class=field>
          
<td colspan=2 align=left>
          
          
<input type="checkbox" name="m12" value="M12" onclick="checkMain('12')" checked>
          
          
<b>系统使用</b> </td></tr>
     
        
<tr class="field">
          
<td width="20%"></td>
          
<td>
          
          
<input type="checkbox" name="s12" value="S27" onclick="checkSub('12')" checked>
          
          系统使用规范
</td></tr>
    
        
<tr class="field">
          
<td width="20%"></td>
          
<td>
          
          
<input type="checkbox" name="s12" value="S28" onclick="checkSub('12')" checked>
          
          系统功能介绍
</td></tr>
    
    
</table>
    
     

          
<table class=Form>
        
<tr class=field>
          
<td colspan=2 align=left>
          
          
<input type="checkbox" name="m7" value="M7" onclick="checkMain('7')" checked>
          
          
<b>会议资料</b> </td></tr>
     
        
<tr class="field">
          
<td width="20%"></td>
          
<td>
          
          
<input type="checkbox" name="s7" value="S12" onclick="checkSub('7')" checked>
          
          会议资料
</td></tr>
    
    
</table>
    
         
        
</td><td align=left valign=top>
    
  
</tr>
</table>
</form>

    

<script>
function checkMain(id) {
len 
= document.frmmain.elements.length;
var mainchecked=document.all("m"+id).checked ;
var i=0;
for( i=0; i<len; i++{
if (document.frmmain.elements[i].name=='s'+id) {
document.frmmain.elements[i].checked
= mainchecked ;
}

}

}


function checkSub(id) {
len 
= document.frmmain.elements.length;
var i=0;
for( i=0; i<len; i++{
if (document.frmmain.elements[i].name=='s'+id) {
    
if(document.frmmain.elements[i].checked){
        document.all(
"m"+id).checked=true;
        
return;
        }

    }

}

document.all(
"m"+id).checked=false;
}


function onSave(){
    
if(document.all("numperpage").value != ""&& document.all("numperpage").value*1<=0 ){
        alert(
"每页记录条数必须大于零");
        
return;
    }

    frmmain.submit();
}

</script>
原文地址:https://www.cnblogs.com/anson/p/385986.html