复选框的全选 / 全不选 / 反选

一、全选操作

<input type="checkbox" name="items" value="足球"/>足球
<input type="checkbox" name="items" value="篮球" />篮球
<input type="checkbox" name="items" value="羽毛球" />羽毛球
<input type="checkbox" name="items" value="乒乓球" />乒乓球
<input type="button"  id="CheckedAll" value="全选"/>
<input type="button" id="CheckedNo" value="全不选" />
<input type="button" id="CheckedRev" value="反选" />
$("#CheckedAll").click(function () {  
     $("[name=items]:checkbox").attr("checked", true);
});

 

二、全不选操作

$("#CheckedNo").click(function () {  
    $("[name=items]:checkbox").attr("checked", false);
});

 

三、反选

//jquery方法
$("#CheckedRev").click(function () {
    $("[name=items]:checkbox").each(function () {
        $(this).attr("checked",!$(this).attr("checked"));
    });
});
//原生js方法
$("#CheckedRev").click(function () {
    $("[name=items]:checkbox").each(function () {
        this.checked = !this.checked;
    });
});

 

四、全选、全不选是复选框的形式

<input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球" />篮球
<input type="checkbox" name="items" value="羽毛球" />羽毛球
<input type="checkbox" name="items" value="乒乓球" />乒乓球
<input type="checkbox" id="CheckedAll" value="全选" />全选
$(function () {
    $("#CheckedAll").click(function () {  //点击全选,对应其他的复选框也选择
        $("[name=items]:checkbox").prop("checked", this.checked);  //如果全选按钮时选中的,其他按钮也选中。全选不是选中的,其他按钮也不选中。checked属性不能用attr(),需要用.prop()方法获取
    });
    $("[name=items]:checkbox").click(function () {  //当点击复选框的时候,判断是否是全选状态
        var flag = true;  //如果复选框都选了,值为true
        $("[name=items]:checkbox").each(function () {  //判断每个复选框的选中状态
            if (!this.checked) { //如果有一个没有选中,则flag为false
                flag = false;
            }
        });
        $("#CheckedAll").prop("checked", flag);  
    });
});

 

posted @ 2017-12-18 15:27  念念念不忘  阅读(278)  评论(0)    收藏  举报