本篇文章是关于复选框的,有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复选框全选反选的方法的详细内容,更多请关注Work网其它相关文章!

09-07 20:48