基于jQuery的简单全选插件

说来,在csdn落户也有好几年了,一直都没有留下点什么,有点惭愧。

这次给大家献上一个我自己写的jQuery全选插件。

修改于:2013-7-13

/* 功能:表格全选
 * 制作:Vilien
 * 日期:2013.7.13
 *
 * @usage $(checkbox).checkall(selector)
 *
 * @param checkbox
 * > 触发全选的checkbox,必须,类型为jQuery选择器
 *
 * @param selector
 * > 触发全选后需要选择的checkbox列表,可省略(谨慎),缺省为页面内所有checkbox
 * > 也可仅仅选择checkbox容器,程序将自动搜寻容器下的所有checkbox
 *
 * @eg
 * > 1). selector仅选择checkbox容器
 * > HTML:
 * >   <div class="boxs"><input type="checkbox" /><input type="checkbox" /></div>
 * >   <input type="checkbox" οnclick="$(this).checkall('.boxs')" />
 *
 * > 2). selector选择checkbox列表
 * > HTML:
 * >   <div class="boxs"><input name="ch" type="checkbox" /><input name="ch" type="checkbox" /></div>
 * >   <input type="checkbox" οnclick="$(this).checkall(':checkbox[name=ch]')" />
 */

;(function($){$.fn.extend({
    checkall: function(selector)
    {
        var _self = this,
            args = arguments;
        if (!_self.is(":checkbox")) return true; // 检查有效性
        if (event && event.type=="click") {
            run();
        } else {
            _self.on("click", run);
        }
        return _self;
        function run() {
            if (args.length<1) {
                checked($(":checkbox").not(_self));
            } else {
                $(selector).each(function(){
                    if (!$(this).is(":checkbox")) {
                        checked($(this).find(":checkbox").not(_self));
                    } else {
                        checked($(this));
                    }
                });
            }
        }
        function checked(boxs) {
            boxs.prop("checked", _self.prop("checked"))
                .off("change").on("change", function(){
                    !$(this).prop("checked") ? _self.prop("checked", false) : 0;
                });
        }
    }
})})(jQuery);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值