全选/全不选/反选

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Title</title>
    6. <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    7. <script type="text/javascript">
    8. $(function (){
    9. //全选
    10. $("#all").click(function (){
    11. $(":checkbox").prop("checked",true);
    12. })
    13. //全不选
    14. $("#none").click(function (){
    15. $(":checkbox").prop("checked",false);
    16. })
    17. //反选
    18. $("#reverse").click(function (){
    19. $(":checkbox[name='checkbox002']").each(function (){//遍历checkbox类型且name属性为checkbox002的选项
    20. //在each函数中有一个this对象是DOM对象
    21. this.checked = !this.checked;
    22. })
    23. })
    24. //全选/全不选
    25. $("#allOrNone").click(function (){
    26. //this对象是当前响应事件的DOM对象
    27. // this.checked就表示全选/全不选的状态
    28. //这个状态要和下面四个的状态相同
    29. $(":checkbox[name='checkbox002']").prop("checked",this.checked);
    30. });
    31. //满选与非满选
    32. $(":checkbox[name='checkbox002']").click(function (){
    33. var allCount =$(":checkbox[name='checkbox002']").length;
    34. var checkCount =$(":checkbox[name='checkbox002']:checked").length;
    35. $("#allOrNone").prop("checked",allCount == checkCount);
    36. });
    37. });
    38. </script>
    39. </head>
    40. <body>
    41. <table>
    42. <tr>
    43. <td>你喜欢的运动是?</td>
    44. <td><input type="checkbox" id="allOrNone"/>全选/全不选</td>
    45. </tr>
    46. <tr>
    47. <td>
    48. <input type="checkbox" name="checkbox002" value="basketball"/>篮球
    49. <input type="checkbox" name="checkbox002" value="football"/>足球
    50. <input type="checkbox" name="checkbox002" value="ping-pongBall"/>乒乓球
    51. <input type="checkbox" name="checkbox002" value="badminton"/>羽毛球
    52. </td>
    53. </tr>
    54. <tr>
    55. <td>
    56. <button type="button" name="button003" id="all" value="checkAll"/>全选
    57. <button type="button" name="button003" id="none" value="checkNone"/>全不选
    58. <button type="button" name="button003" id="reverse" value="checkReverse"/>反选
    59. </td>
    60. </tr>
    61. </table>
    62. </body>
    63. </html>