html,javaScript中怎么控制复选框checkbox的全选,全不选,以及全选中,全选按钮选中,其中一个或者多个没选,则全选按钮不被选中

来源:互联网 发布:阿里云文件上传 编辑:程序博客网 时间:2024/04/30 23:18
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ include file="/commons/jsp/htmtag.jsp"%>  
  4.   
  5.    
  6.   
  7. <html>  
  8. <head>  
  9.   
  10.    
  11.   
  12. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  13. <title></title>  
  14. <script>  
  15.   
  16.    
  17.   
  18. //当全选按钮,选中时,所有复选框被选中,当全选按钮不被选中时,所有的也不被选中  
  19. function funSelAll(){  
  20. var selects=document.getElementsByName("selOne");  
  21. if(document.getElementsByName("selAll")[0].checked==true){  
  22. for(var i=0;i<selects.length;i++){  
  23. selects[i].checked=true;  
  24. }  
  25. }else{  
  26. for(var i=0;i<selects.length;i++){  
  27. selects[i].checked=false;  
  28. }  
  29. }  
  30. }  
  31. //当所有的复选框被选中时,全选按钮被选中,当其中任意一个或者多个没被选中时,全选按钮不被选中  
  32. function funSelOne(){  
  33. var one=document.getElementsByName("selOne");  
  34. var all=document.getElementsByName("selAll")[0]  
  35. var selCount=0;  
  36. var unSelCount=0;  
  37. for(var i=0;i<one.length;i++){  
  38.  if(one[i].checked==true){  
  39.   selCount++;  
  40.  }  
  41.  if(one[i].checked==false){  
  42.   unSelCount++;  
  43.  }  
  44.  if(selCount==one.length){  
  45.   all.checked=true;  
  46.  }  
  47.  if(unSelCount>0){  
  48.   all.checked=false;  
  49.  }  
  50. }  
  51. }  
  52.   
  53.    
  54.   
  55. function funDelBatch(){  
  56. var strsValue="";  
  57. var strs=document.getElementsByName("selOne");  
  58. if(strs!=null&&strs.length>0){  
  59. for(var i=0;i<strs.length;i++){  
  60. //----  
  61. if(strs[i].checked==true){  
  62. strsValue=strsValue+strs[i].value+",";  
  63. }  
  64. //---  
  65.   
  66.    
  67.   
  68. }  
  69. }  
  70. document.form1.action="<%=request.getContextPath()%>/grade/allGrades.htm?method=toDetailGradeBatch&gradeIds="+strsValue;  
  71. document.form1.submit();  
  72. }  
  73. </script>  
  74. </head>  
  75. <body>  
  76. <!--toDetailGradeByName-->  
  77. <form action="<%=request.getContextPath()%>/grade/allGrades.htm?method=toDetailGradeByName" method="post" id="form1" name="form1">  
  78. <div align="center">  
  79. <input type="text" name="gradeName" value="${gradeName}">  
  80. <input type="submit" value="查询">  
  81. <input type="reset" value="重置">  
  82. <br/>  
  83.   
  84.    
  85.   
  86. <br/>  
  87. <input type="button" value="添加" onClick="window.open('http://localhost:8080/demo/jsp/grade/gradeAdd.jsp');">  
  88. <input type="button" value="批量删除" onClick="funDelBatch()">  
  89. </div>  
  90. <table border="1px"  align="center" border="1" cellpadding="2" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF" bgcolor="#FFFFEE">  
  91. <c:if test="${not empty '${volists}'}">  
  92. <tr>  
  93. <td><input type="checkbox" name="selAll" onClick="funSelAll(this)"></td>  
  94. <td>班级编码</td>  
  95. <td>班级名称</td>  
  96. <td>操作</td>  
  97. </tr>  
  98. <c:forEach items="${volists}" var="vo">  
  99. <tr>  
  100. <td><input type="checkbox" name="selOne" value="${vo.gradeId}" onClick="funSelOne(this)"></td>  
  101. <td>${vo.gradeId}</td>  
  102. <td>${vo.gradeName}</td>  
  103. <td>  
  104. <a href="<%=request.getContextPath()%>/grade/allGrades.htm?method=toDeleteGrade&gradeId=${vo.gradeId}">删除</a>  
  105. <a href="<%=request.getContextPath()%>/grade/allGrades.htm?method=toDetailGrade&gradeId=${vo.gradeId}">修改</a>  
  106. </td>  
  107. </tr>  
  108. </c:forEach>  
  109. </c:if>  
  110. </table>  
  111. </form>  
  112.   
  113.    
  114.   
  115. </body>  
  116. </html>  
阅读全文
0 0
原创粉丝点击