经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
js/jQuery实现全选效果
来源:jb51  时间:2019/6/18 8:36:17  对本文有异议

本文实例为大家分享了js/jQuery两种代码实现全选效果的具体代码,供大家参考,具体内容如下

注意点

在获取子选框的时候别加上 全选框的个数了

技巧

找 tbody 下面的input标签 就可以

jq文件夹自己下载即可

思路

  1. var all=my$("j_tb").getElementsByTagName("input");
  2. // alert(all.length);
  3. //实现1 点击全选 子选框都得被全选
  4. /**
  5. *
  6. * 点击全选框 判断全选框的checked是否为真 为真 遍历所有子选框 设置所有子选框的checked=true; true不用加""
  7. *
  8. *
  9. */
  10. my$("j_cbAll").onclick=function(){
  11. if(j_cbAll.checked)
  12. {
  13. for(var i=0;i<all.length;i++)
  14. {
  15. all[i].checked=true;
  16. }
  17. }
  18. else{
  19. for(var i=0;i<all.length;i++)
  20. {
  21. all[i].checked=false;
  22. }
  23. }
  24. }
  25. //实现2 选择所有的子选框 全选框勾选
  26. var arr=[];
  27. for(var i=0;i<all.length;i++)
  28. {
  29. all[i].onclick=function(){
  30. //思路过程
  31. /**
  32. * 创建数组
  33. * 点击每个子选框
  34. * 1.数组清零
  35. * 2.fou循环所有自选框 判断是否被选中(all[i].checked) 选中的元素加入新的数组(arr.push(all[i]))里面
  36. * 3.判断新的数组长度是否等于子选框数组长度 是的话 全选框被选中(my$("j_cbAll").checked=true) 否则相反
  37. */
  38. arr=[];
  39. for(var i=0;i<all.length;i++)
  40. if(all[i].checked)
  41. {
  42. arr.push(all[i]);
  43. }
  44. console.log(arr.length);
  45. if(arr.length==all.length){
  46. my$("j_cbAll").checked=true;
  47. }
  48. else{
  49. my$("j_cbAll").checked=false;
  50. }
  51. }
  52. }
  53. </script>
  54. <!-- <script src="jquery-1.12.4.js"></script>
  55. <script>
  56. $(function () {
  57. $("#j_cbAll").click(function () {
  58. //修改下面的哪些checkbox
  59. $("#j_tb input").prop("checked", $(this).prop("checked"));//根据自己来判断是否全选与否
  60. });
  61. $("#j_tb input").click(function () {
  62. if($("#j_tb input:checked").length == $("#j_tb input").length){
  63. $("#j_cbAll").prop("checked", true)
  64. }else {
  65. $("#j_cbAll").prop("checked", false)
  66. }
  67. });
  68. });
  69. </script>
  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. * {
  8. padding: 0;
  9. margin: 0;
  10. }
  11. .wrap {
  12. width: 300px;
  13. margin: 100px auto 0;
  14. }
  15. table {
  16. border-collapse: collapse;
  17. border-spacing: 0;
  18. border: 1px solid #c0c0c0;
  19. width: 300px;
  20. }
  21. th,
  22. td {
  23. border: 1px solid #d0d0d0;
  24. color: #404060;
  25. padding: 10px;
  26. }
  27. th {
  28. background-color: #09c;
  29. font: bold 16px "微软雅黑";
  30. color: #fff;
  31. }
  32. td {
  33. font: 14px "微软雅黑";
  34. }
  35. tbody tr {
  36. background-color: #f0f0f0;
  37. text-align: center;
  38. }
  39. tbody tr:hover {
  40. cursor: pointer;
  41. background-color: #fafafa;
  42. }
  43. </style>
  44. </head>
  45. <body>
  46. <div class="wrap">
  47. <table>
  48. <thead>
  49. <tr>
  50. <th>
  51. <input type="checkbox" id="j_cbAll"/>
  52. </th>
  53. <th>菜名</th>
  54. <th>饭店</th>
  55. </tr>
  56. </thead>
  57. <tbody id="j_tb">
  58. <tr>
  59. <td>
  60. <input type="checkbox"/>
  61. </td>
  62. <td>红烧肉</td>
  63. <td>田老师</td>
  64. </tr>
  65. <tr>
  66. <td>
  67. <input type="checkbox"/>
  68. </td>
  69. <td>西红柿鸡蛋</td>
  70. <td>田老师</td>
  71. </tr>
  72. <tr>
  73. <td>
  74. <input type="checkbox"/>
  75. </td>
  76. <td>红烧狮子头</td>
  77. <td>田老师</td>
  78. </tr>
  79. <tr>
  80. <td>
  81. <input type="checkbox"/>
  82. </td>
  83. <td>日式肥牛</td>
  84. <td>田老师</td>
  85. </tr>
  86. </tbody>
  87. </table>
  88. </div>
  89.  
  90. <script type="text/javascript">
  91. function my$(id)
  92. {
  93. return document.getElementById(id);
  94. }
  95. var all=my$("j_tb").getElementsByTagName("input");
  96. // alert(all.length);
  97. //实现1 点击全选 子选框都得被全选
  98. /**
  99. *
  100. * 点击全选框 判断全选框的checked是否为真 为真 遍历所有子选框 设置所有子选框的checked=true; true不用加""
  101. *
  102. *
  103. */
  104. my$("j_cbAll").onclick=function(){
  105. if(j_cbAll.checked)
  106. {
  107. for(var i=0;i<all.length;i++)
  108. {
  109. all[i].checked=true;
  110. }
  111. }
  112. else{
  113. for(var i=0;i<all.length;i++)
  114. {
  115. all[i].checked=false;
  116. }
  117. }
  118. }
  119. //实现2 选择所有的子选框 全选框勾选
  120. var arr=[];
  121. for(var i=0;i<all.length;i++)
  122. {
  123. all[i].onclick=function(){
  124. //思路过程
  125. /**
  126. * 创建数组
  127. * 点击每个子选框
  128. * 1.数组清零
  129. * 2.fou循环所有自选框 判断是否被选中(all[i].checked) 选中的元素加入新的数组(arr.push(all[i]))里面
  130. * 3.判断新的数组长度是否等于子选框数组长度 是的话 全选框被选中(my$("j_cbAll").checked=true) 否则相反
  131. */
  132. arr=[];
  133. for(var i=0;i<all.length;i++)
  134. if(all[i].checked)
  135. {
  136. arr.push(all[i]);
  137. }
  138. console.log(arr.length);
  139. if(arr.length==all.length){
  140. my$("j_cbAll").checked=true;
  141. }
  142. else{
  143. my$("j_cbAll").checked=false;
  144. }
  145. }
  146. }
  147. </script>
  148. <!-- <script src="jquery-1.12.4.js"></script>
  149. <script>
  150. $(function () {
  151. $("#j_cbAll").click(function () {
  152. //修改下面的哪些checkbox
  153. $("#j_tb input").prop("checked", $(this).prop("checked"));//根据自己来判断是否全选与否
  154. });
  155. $("#j_tb input").click(function () {
  156. if($("#j_tb input:checked").length == $("#j_tb input").length){
  157. $("#j_cbAll").prop("checked", true)
  158. }else {
  159. $("#j_cbAll").prop("checked", false)
  160. }
  161. });
  162. });
  163. </script>
  164. -->
  165. </body>
  166. </html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号