码迷,mamicode.com
首页 > Web开发 > 详细

web前端 -- jQuery全选框的使用

时间:2019-10-09 09:14:28      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:计算机   his   center   使用   type   border   http   样式   tab   

根据千峰教育学习视频所练习的笔记 | 学习一段时间,我也有写一点东西的必要了···

在页面上有这样一个表格:

技术图片

我想实现:

勾选第一行的全选框后,所有的多选框全部被选中;取消选中全选框,其余的多选框不会被全部勾选。

当所有的复选框个数和被选中的多选框个数一致时,自动勾选全选框,否则,不会自动勾选全选框。

1. 页面的表格样式

<body>
    <table border="1" bgcolor="antiquewhite">

        <thead align="center">
            <tr>
                <th><input type="checkbox"></th>
                <th>课程名称</th>
                <th>课程ID</th>
                <th>学分</th>
            </tr>
        </thead>

        <tbody>
            <tr>
                <td><input type="checkbox"></td>
                <td>计算机网络</td>
                <td>A6001</td>
                <td>2</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>数据结构</td>
                <td>A6002</td>
                <td>2</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>Linux程序设计</td>
                <td>A6004</td>
                <td>2</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>面向对象程序设计</td>
                <td>A6006</td>
                <td>2</td>
            </tr>
        </tbody>

    </table>
</body>

2. 引入jQuery文件,并把代码放到另一个script标签

<script src="jquery-3.4.1.min.js"></script>
    <script>
        // 1.首先取到thead里的input,并设置监听
        $('thead input').change(function(){
            // 2.判断当前全选框是否被选中
            var isChecked = $(this).prop('checked');
            //3.取得tbody下的所有checkbook,来设定prop
            $('tbody input').prop('checked',isChecked);
        })  
</script> 

这样就用全选按钮控制多选框:就是点击课程名称前的全选按钮,所有的多选框都被选中。

来页面操作,是没有问题的:

技术图片

技术图片

3. 同理,继续完成余下的功能。添加如下代码:

<script>
    $('tbody input').change(function(){
        //判断所有的复选框个数和被选中的多选框个数一致,
        //一致 全选框被自动选中.否则,全选框不被选中
        var allCount = $('tbody input').length;//所有个数
        var checkCount = $('tbody input:checked').length;//被选中个数
        var isAllChecked = allCount === checkCount;
        $('thead input').prop('checked',isAllChecked);
    })
</script>

技术图片

web前端 -- jQuery全选框的使用

标签:计算机   his   center   使用   type   border   http   样式   tab   

原文地址:https://www.cnblogs.com/hefeifei/p/11639300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!