如果当前选中的数量为有一个没有选中,并且全选框是选中状态,则将全选框的状态变为不选择 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JavaScript全选(全消),动态全选全消</TITLE> <script type="text/javascript" language="javascript"> function checkAll()//此方法用来全选和全消复选框 { var items=document.getElementsByName("checkC"); var itemall=document.getElementById("all"); for(var i=0;i<items.length;i++){ items.checked=itemall.checked; } } function resAll(){ var items=document.getElementsByName("checkC"); var itemall=document.getElementById("all"); var ite=0; //此变量用来记录当前选中的checkbox的个数 for(var i=0;i<items.length;i++){ //获得当前选中的checkbox的数量 if(items.checked){ ite++; } } //如果当前选中的数量为有一个没有选中,并且全选框是选中状态 //则将全选框的状态变为不选择 if(ite==items.length-1&&itemall.checked){ itemall.checked=false; } /*--- //这个适用于你想把子选项完全去掉才将全选的效果去掉 if(ite==0&&itemall.checked){ itemall.checked=false; } ---*/ //如果当前选中的数量为零并且全选框是未选中状态 //则将全选框的状态变为选择 if(ite==items.length&&!itemall.checked){ itemall.checked=true; } } </script> </HEAD> <BODY> 此脚本适合由数据库动态创建时使用这样的,因为里面不需要传递参数。因此扩展性不是很高<br/> <input type="checkbox" name="all" id="all" onclick="checkAll()">全选 <input type="checkbox" name="checkC" onclick="resAll()">1 <input type="checkbox" name="checkC" onclick="resAll()">2 <input type="checkbox" name="checkC" onclick="resAll()">3 <input type="checkbox" name="checkC" onclick="resAll()">4 <input type="checkbox" name="checkC" onclick="resAll()">5 <input type="checkbox" name="checkC" onclick="resAll()">6 <input type="checkbox" name="checkC" onclick="resAll()">7 </BODY> </HTML>
|