欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js复选框全选反选的方法

程序员文章站 2022-03-08 17:05:31
...
本篇文章是关于复选框的,有2种形式:1、全选、反选由2个按钮实现;2、全选、反选由一个按钮实现。


<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title>复选框demo</title>
        <script src="../js/jquery-1.10.2.js" type="text/javascript"></script>
        <style>
            body{ text-align:center} 
            .con{ margin:100px auto; width:800px; height:400px; border:1px solid #F00; padding-top: 50px;} 
        </style> 
    </head>
    <body>
        <p class="con">
            <span><input type='checkbox' name='select' onclick='allSelect()'>全选</span>
            <span><input type='checkbox' name='cancel' onclick='unAllSelect()'>反选</span>
            <span><input type='checkbox' name='fruit' />苹果</span>
            <span><input type='checkbox' name='fruit' />香蕉</span>
            <span><input type='checkbox' name='fruit' />梨子</span>
            <span><input type='checkbox' name='fruit' />桃子</span>
            <span><input type='checkbox' name='fruit' />西瓜</span>
            
            <br><br><br>
            
            <span><input type='checkbox' id="allBook"  name='allBook' />全选</span>
            <span><input type='checkbox' name='book' />老子</span>
            <span><input type='checkbox' name='book' />尚书</span>
            <span><input type='checkbox' name='book' />周易</span>
            <span><input type='checkbox' name='book' />诗经</span>
            <span><input type='checkbox' name='book' />孟子</span>
            <span><input type='checkbox' name='book' />中庸</span>
            <script type="text/javascript">
    //全选
    function allSelect(){
        $("input[name='fruit']").prop("checked", "checked");
        $("input[name='cancel']").removeAttr("checked");
    }    //反选
    function unAllSelect(){
        $("input[name='fruit']").removeAttr("checked");
        $("input[name='select']").removeAttr("checked");
    }    
    //单选    
            $("#allBook").click(function(){        
            if(this.checked){//            
            $("input[name='book']").attr("checked", true);            
            $("input[name='book']").prop("checked", "checked");
          }else{//          
          $("input[name='book']").attr("checked", false);            
          $("input[name='book']").removeAttr("checked");
          }
    });</script>
        </p>
    </body>
    </html>

在实践中碰到一个问题——check全选失效。解决办法,使用prop方法代替attr。


$("input[name='book']").attr("checked", "checked");
$("input[name='book']").prop("checked", "checked");

这或许是和jQuery版本有关。

以上就是js复选框全选反选的方法的详细内容,更多请关注其它相关文章!