JavaScript实现checkbox全选,当只有一个时不起作用的情况也已经解决

 

  
  
  
  
  1. <script language="JavaScript">  
  2. function check(field) {  
  3. var t = document.noticeForm.selectAll;  
  4. if(!document.noticeForm.notice.length){   
  5. if(t.checked){   
  6. document.noticeForm.notice.checked=true;   
  7. }   
  8. else{   
  9. document.noticeForm.notice.checked=false;   
  10. }   
  11. }  
  12.  
  13. if (t.checked) {  
  14. for (i = 0; i <field.length; i++) {  
  15. field[i].checked = true;  
  16. }  
  17. }  
  18. else {  
  19. for (i = 0; i <field.length; i++) {  
  20. field[i].checked = false;   
  21. }  
  22. }  
  23. }  
  24. function isSelect(confirmString){  
  25. field = document.noticeForm.notice;  
  26. var count = 0;  
  27. if(!document.noticeForm.notice.length){   
  28. if(document.noticeForm.notice.checked){   
  29. count++;   
  30. }   
  31. }  
  32. for (i = 0; i <field.length; i++) {  
  33. if(field[i].checked == true){  
  34. ++count;  
  35. }  
  36. }  
  37. alert(count);  
  38. if(count>0){  
  39. return confirm(confirmString);  
  40. }   
  41. else {  
  42. alert('请至少选择一个!');  
  43. return false;  
  44. }  
  45. }  
  46.  
  47. </script>  
  48.  
  49. <form action="${action}" name="noticeForm" onsubmit="return isSelect('${confirmString}');">  
  50. <table border="1" width="95%" bordercolor="#8AB78A">  
  51. <tr>  
  52. <td align="center"><input type="checkbox" name="" onClick="check(this.form.notice)"/></td>  
  53. <td align="center"><strong>状态</strong></td>  
  54. <td align="center"><strong>标题</strong></td>  
  55. <td align="center"><strong>作者</strong></td>  
  56. <td align="center"><strong>发给谁?</strong></td>  
  57. <td align="center"><strong>人气/回复</strong></td>  
  58. <td align="center"><strong>发布时间</strong></td>  
  59. <td align="center"><strong>最后修改</strong></td>  
  60. <td align="center"><strong>审核</strong></td>  
  61. </tr>   
  62. <c:forEach var="notice" items="${pageForm.list}" begin="${(pageForm.currentPage-1)*(pageForm.pageSize)}" end="${(pageForm.currentPage-1)*(pageForm.pageSize)+pageForm.pageSize-1}">  
  63. <tr align="center">  
  64. <td><input type="checkbox" name="notice" value="${notice.id}"/></td>  
  65. <td><c:out value="${notice.statusString}"></c:out></td>  
  66. <td>  
  67. <a href="servlet/NoticeDetail?id=${notice.id}" title="${notice.title}">  
  68. <c:out value="${notice.title}"></c:out>  
  69. </a>  
  70. <fmt:formatDate var="writeTime" value='${notice.writeTime}' type='both' pattern="yyyy-MM-dd"/>  
  71. <jsp:useBean id="now" class="java.util.Date" />   
  72. <fmt:formatDate var="today" value="${now}" type="both" pattern="yyyy-MM-dd" />   
  73. <c:if test="${writeTime==today}">  
  74. <img alt="新公告" src="images/new.gif">  
  75. </c:if>  
  76. </td>  
  77. <td><c:out value="${notice.authorId}"></c:out></td>  
  78. <c:set var="author" value="${notice.authorId}"></c:set>  
  79. <td><c:out value="${notice.typeString}"></c:out>  
  80. <c:out value="(${notice.recipients})"></c:out></td>  
  81. <td><c:out value="${notice.readCount}"></c:out>/<c:out value="${notice.replyCount}"></c:out></td>  
  82. <td>  
  83. <fmt:formatDate value='${notice.writeTime}' type='both' pattern="yyyy-MM-dd HH:mm:ss"/>  
  84. </td>  
  85. <td>  
  86. <fmt:formatDate value='${notice.lastModified}' type='both' pattern="yyyy-MM-dd HH:mm:ss"/>  
  87. </td>  
  88. <td>  
  89. <c:out value="${notice.isAuditString}"></c:out>  
  90. </td>  
  91. </tr>  
  92. </c:forEach>  
  93. </table>  
  94.  
  95. <input type="checkbox" name="selectAll" value="全选" onClick="check(this.form.notice)">全选  
  96. <input type="image" src="images/delete.gif" style="cursor: hand;" alt="删除" >删除选定内容 

 

你可能感兴趣的:(JavaScript,实现,checkbox,全选,解决)