jQuery全选、反选、全不选

原文链接:https://yq.aliyun.com/articles/33443

HTML内容部分:

<ul id="items">
            <li>
                <label><input type="checkbox" />item1</label>
            </li>
            <li>
                <label><input type="checkbox" />item2</label>
            </li>
            <li>
                <label><input type="checkbox" />item3</label>
            </li>
            <li>
                <label><input type="checkbox" />item4</label>
            </li>
            <li>
                <label><input type="checkbox" />item5</label>
            </li>
            <li>
                <label><input type="checkbox" />item6</label>
            </li>
            <li>
                <label><input type="checkbox" />item7</label>
            </li>
            <li>
                <label><input type="checkbox" />item8</label>
            </li>
        </ul>
        <p id="selection">
            <label><input type="checkbox" class="select-all" />全选</label>
            <label><input type="checkbox" class="select-none" />全不选</label>
            <label><input type="checkbox" class="select-reverse" />反选</label>
            <label><input type="checkbox" class="switch" />全选/全不选</label>
        </p>

CSS部分:

#items{
            list-style: square;
        }
        #items li{
            margin-bottom: 20px;
        }
        #selection{
            margin-top: 50px;
        }
        #selection label{
            margin-right: 30px;
        }

Javascript部分:

$(document).ready(function(){
            //全选
            $(".select-all").click(function(){
                $("#items input").prop("checked",true);
                $(".select-none,.select-reverse,.switch").prop("checked",false);
            });
            //全不选
            $(".select-none").click(function(){
                $("#items input,.select-all,.select-reverse,.switch").prop("checked",false);
            });
            //反选
            $(".select-reverse").click(function(){
                //使用each()方法规定每个匹配元素规定运行的事件
                $("#items input").each(function(){
                    $(this).prop("checked",!$(this).prop("checked"));
                    $(".select-all,.select-none,.switch").prop("checked",false);
                })
            });
            //全选/全不选
            $(".switch").click(function(){
                //使用is()方法来遍历input元素,根据选择器、元素或jQuery对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回true。
         //问号代表判断,冒号代表否则……
         //如果$("#items input").is(":checked")为真或不等于0

         //那么返回$("#items input").prop("checked",false)否则返回$("#items input").prop("checked",true)
         
$("#items input").is(":checked")?$("#items input").prop("checked",false):$("#items input").prop("checked",true);
         $(".select-all,.select-none,.select-reverse").prop("checked",false);
            });
        })

 

posted @ 2016-12-12 10:49  Western_Journalist  阅读(263)  评论(0编辑  收藏  举报