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

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

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

我想实现:

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

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

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>

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

时间: 2024-10-31 17:48:11

web前端 -- jQuery全选框的使用的相关文章

Web前端之复选框选中属性

熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常Google到一些这个不好那个不好的文章,到后面自己都混乱了.今天偶然看到一篇外国的博客,觉得讲解的很不错,打算翻译成中文,并加上了一些自己的见解.翻译的目的一是分享给大家,二是方便自己查阅.原文链接是:http://conceptf1.blogspot.com/2014/10/checkbox-checked-property.

jQuery 复选框全选/取消全选/反选

jQuery实现的复选框全选/取消全选/反选及获得选择的值. 完整代码: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="../js/jquery-1.9.1.js"></script> <script type="text/javascript"> $(document).ready(fun

jQuery复选框全选全不选代码

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="author" content="http://www.51texiao.cn/" /><title>jQuery复选框全选全不选代码<

jQuery复选框全选/取消全选

jQuery复选框 注意jquery版本的更新兼容问题 使用兼容1.6+所有版本 $("#selAll").on("click", function () { if($("#selAll").prop("checked") == true){ $("input[id='iid']").each(function(){ $(this).prop("checked", true); });

jQuery全选反选插件的写法

jQuery全选反选插件,经易让你实现一个表单列表数据的全选与取消全选功能,内含示例,小巧实用.自动判断当前选中数量,加上全选.在没有jQuery之前,我们需要一大段js代码来实现这种效果.有了jQuery这个强大的库之后,我们可以很方便的开发实现这种效果的jQuery插件.我将它命名为jQuery.fn.check插件.前端框架分享 在构建我们的插件之前,我们想考虑一下其功能需求: 所有复选框的状态都随全选复选框的状态而发生变化:如果所有复选框都被选中时,全选复选框立即处于选中状态:如果当前选

简单的jquery全选反选案例

本demo适合刚学习jQuery的战友学习. 一个星期平均有4次晚上是吃  某荔村肠粉,所以内容就是我晚上经常点吃的那些.一般我都是吃14块钱. 效果如图: HTML代码: 1 <ul id='food'> 2 <li><input type="checkbox" value='8'>8元 红豆沙</li> 3 <li><input type="checkbox" value='5'>5元 青菜

jquery checkbox选框操作

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 5 <script type="text/javascript" s

jquery全选,jquery全不选,jquery反选

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <title>全选,不全选,反选</title> <script src="js/jquery.js" type="text/j

jQuery 全选与反选时出现的bug!

今天在写项目,使用jQuery1.10.2 发现一个小小的bug, 在设置checked属性时,前两次反选的时候是正常的,后面均不正确,通过调试, 准确的说应该是只有第一次是正确的,在第二次单击时,事件快完成的时候的运行的流程有点奇怪.所以自己感觉这么 成熟的框架不应该出现这个问题,于是又将1.11.1版本下载下来,也是jQuery1的最新版本测试,同样末果,问题依 然存在,使用标准的document.getElementById, 直接设置值是没有问题的. 我本人根据测试,应该是jQuery的