通用全选方法

通用的全选方法,只要传入全选对象和全选作用的子项即可实现全选/全不选,要设计子项的name相同或者class相同才方便进行选取。

<html>
<head>
<script typet="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
</head>
<input type="checkbox" name="checkAll" id="checkAll"/>全选/全不选
 <input type="checkbox" name="subCheckName" value="a1" checked="checked" />a1
 <input type="checkbox" name="subCheckName" value="a2" checked="checked" />a2
 <input type="checkbox" name="subCheckName" value="a3" />a3
 <input type="checkbox" name="subCheckName" value="a4" />a4

<script>
/** 绑定全选事件 
 *  eg: checkAllInit($("#checkAll"),$("input[name='subCheckName']"));
 * @param checkAllObj 全选jquery对象
 * @param subCheckObjs 子选项jquery对象数组
 */
function checkAllInit(checkAllObj,subCheckObjs)
{
	debugger
    var ischecked = checkAllObj.prop("checked");
    subCheckObjs.each(function(i)
    {
        $(this).prop("checked", ischecked);
    });

    // 绑定全选事件
    checkAllObj.off("click").on("click", function()
    {
        var isAllchecked = checkAllObj.prop("checked");
        subCheckObjs.each(function(i)
        {
            $(this).prop("checked", isAllchecked);
        });
    });

    // 绑定子项勾选触发全选项check
    subCheckObjs.each(function(i)
    {
        $(this).off("click").on("click", function()
        {
            if (!this.checked)
            {
                checkAllObj.prop("checked", false);
            }
            else
            {
                var isCheckAllType = true;
                subCheckObjs.each(function(i)
                {
                    console.log(this.checked);
                    if (!this.checked)
                    {
                        isCheckAllType = false;
                    }
                });
                checkAllObj.prop("checked", isCheckAllType);
            }
        });
    });
}




$(function(){
//示例
checkAllInit($("#checkAll"),$("input[name='subCheckName']"));
});
</script>

</html>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值