zoukankan      html  css  js  c++  java
  • js, jquery实现全选,反选

    js ,jq实现全选,反选功能:

    js:思路:1.点击全选按钮实现,下面内容全选,与反选 2.下面有一个没有选中时,全选按钮不勾选,当全部选中时才全选。这里引入一个计数器,来判断是否全部选中。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            全选<input type="checkbox" name="allchoose" id="box" onclick="chk()"/>
            <div id="lower">
                苹果<input type="checkbox" name="apple" id="apple"/>
                香蕉<input type="checkbox" name= "banner" id="banner" />
                橘子<input type="checkbox" name="origin" id="origin"/>
            </div>
            
            <script type="text/javascript">
                var box = document.getElementById("box");
                var lb = document.getElementById("lower");
                var lber = lb.getElementsByTagName("input");
            //全选,反选
            box.onclick = function(){
                if(this.checked){
                    for(var i=0;i<lber.length;i++){
                        lber[i].checked = true;
                    }
                }else{
                    for(var i=0;i<lber.length;i++){
                        lber[i].checked = false;
                    }
                }
            }
            //下面全选后,全选框才勾上
            for(var i=0;i<lber.length;i++){
                lber[i].onclick = function(){
                    //引入计数器sum
                    var sum = 0;
                    for(var j=0;j<lber.length;j++){
                        if(lber[j].checked){
                            sum += 1;
                            if(sum == lber.length){
                                box.checked = true;
                            } else {
                                box.checked = false;
                            }
                        }
                    }
                }
            }
            </script>
        </body>
    </html>

    jq,使用jQuery 前先引入 jq:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <input type="checkbox" value="全选" id="ckAll"/>水果</br>
            <div class="box">
                <input type="checkbox" value="苹果" id="apple"/>苹果
                <input type="checkbox" value="香蕉" id="bann"/>香蕉
                <input type="checkbox" value="橘子" id="origin"/>橘子
            </div>    
            <script src="js/jquery-1.8.3.min.js"></script>
            <script type="text/javascript">
           //给所有 .box input 元素添加 checked =  ckAll 当前的状态;
           //prop('checked',value) ,第一个值获取属性,第二个值:设置属性值。prop只有一个参数时,表示获取元素属性。
            $('#ckAll').click(function(){
               $('.box input').prop('checked',$(this).prop('checked'));
                });
                $('.box input').click(function(){
                //each 便利每一个元素,让其执行该函数
                    $('.box input').each(function(){
                        if(!$(this).prop('checked')){
                            $('#ckAll').prop('checked',false);
                            //有一个不满足就 跳出该循环,避免执行下面
                            return false;
                        }else{
                            $('#ckAll').prop('checked',true);
                        }
                    })
                })</script>
        </body>
    </html>
  • 相关阅读:
    【C#】工具类-FTP操作封装类FTPHelper
    网盘搜索网站
    在线服务
    Windows下安装NTP服务器
    vue 组件间的传值 + 路由守卫
    功能6 -- 选项卡数据缓存
    vue2.0/3.0
    vuex
    mySql笔记
    Typescript
  • 原文地址:https://www.cnblogs.com/lk4525/p/6513924.html
Copyright © 2011-2022 走看看