首页 >web前端 >js教程 >jquery怎么实现全选效果

jquery怎么实现全选效果

藏色散人
藏色散人原创
2021-11-12 10:26:275144浏览

jquery实现全选效果的方法:1、创建一个HTML示例文件;2、通过“$('input').click(function(){...}”方法判断当前全选框是否选中即可。

jquery怎么实现全选效果

本文操作环境:windows7系统、jquery3.2.1版、DELL G3电脑

jquery怎么实现全选效果?

jQuery实现全选效果

这是一段用jquery实现全选的代码,主要思路如下:

1.所有的复选框都有单击事件,所有效果都是在单击事件下实现的

2.全选复选框所实现的功能与其他复选选项实现的功能不同,所有在单击事件内做一个判断,是否是全选复选框的单击事件

3.如果是,则执行判断全选复选框是否选中,如果当前状态为选中,那么点击后取消勾选,同时取消所有选项的勾选,如果全选当前未选中,点击后勾选,并勾选所有

4.如果不是,说明点击的对象是出全选外的其他选项,那么就要判断当前已经勾选的选项的数量,是否等于除了全选复选框以外所有选项的数量,如果相等,则说明,选项全部勾选,同时将全选复选框也勾选,否则不勾选。

 

下面是我的代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>全选效果</title>
        <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $(&#39;input&#39;).click(function(){
                    if($(this).index() == 0){
                        //判断当前全选框是否选中,如果选中则全选,否则全不选
                        if($(&#39;input&#39;).eq(0).prop(&#39;checked&#39;)){
                            $(this).nextAll().prop(&#39;checked&#39;,true);
                        }else{
                            $(this).nextAll().prop(&#39;checked&#39;,false);
                        }
                    }else{
                        //判断除了全选之外的选项是否全部选中,选中则勾上全选,否则全不选
                        if($(&#39;input:gt(0):checked&#39;).length == $(&#39;input&#39;).length-1){
                            $(&#39;input&#39;).eq(0).prop(&#39;checked&#39;,true)
                        }else{
                            $(&#39;input&#39;).eq(0).prop(&#39;checked&#39;,false)
                        }
                    }  
                })
            })
        </script>
    </head>
    <body>
        <input type="checkbox" />全选
        <input type="checkbox" />语文
        <input type="checkbox" />数学
        <input type="checkbox" />英语
    </body>
</html>

实现全选效果的思路也比较多,这种思路相对与分开两个单击事件的思路来说,稍微有点难理解,但其实实现效果的代码,是一样的。

推荐学习:《jquery视频教程

以上是jquery怎么实现全选效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn