zoukankan      html  css  js  c++  java
  • 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(){
                    $('input').click(function(){
                        if($(this).index() == 0){
                            //判断当前全选框是否选中,如果选中则全选,否则全不选
                            if($('input').eq(0).prop('checked')){
                                $(this).nextAll().prop('checked',true);
                            }else{
                                $(this).nextAll().prop('checked',false);
                            }
                        }else{
                            //判断除了全选之外的选项是否全部选中,选中则勾上全选,否则全不选
                            if($('input:gt(0):checked').length == $('input').length-1){
                                $('input').eq(0).prop('checked',true)
                            }else{
                                $('input').eq(0).prop('checked',false)
                            }
                        }  
                    })
                })
            </script>
        </head>
        <body>
            <input type="checkbox" />全选
            <input type="checkbox" />语文
            <input type="checkbox" />数学
            <input type="checkbox" />英语
        </body>
    </html>
    复制代码

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

    代码的世界水太深,潜行的心态很纯真!
    转载自:http://www.cnblogs.com/Q-zhangsan/p/6119517.html
  • 相关阅读:
    课程开始的第一次作业
    第四次寒假作业——实现五种语言的选择
    关于改良报告与学习总结(Ⅰ)
    Vue路由守卫之路由独享守卫
    Vue路由守卫之组件内路由守卫
    Vue中如何插入m3u8格式视频,3分钟学会!
    Vue中如何使用less
    第一章 初识爬虫
    【JQuery】注册中实现图片预览
    【Python】多种方式实现生成验证码
  • 原文地址:https://www.cnblogs.com/zhao-bo/p/6119611.html
Copyright © 2011-2022 走看看