自定义插件——zBox

/**
 * Created by zrz on 2015/3/10,17:01.创建zrz工具箱,名称暂定为zBox,为便于调用,特全部小写,即为:zbox.
 * @version 1.0.0 created . 新增一个方便添加全选和单选相互触发的自定义函数selectAll。
 * @version 1.0.1 updated . 重新定义selectAll的选择器。更为方便的指定单选组和全选按钮的选择事件。
 * @version 1.0.2 created . 新增反选按钮与单选按钮的触发事件绑定。
 */

(function (z) {
    z.zbox = {
        /**
         * 全选与单选事件触发
         * @param allCheck 全选的选择器
         * @param radioChecks 单选的参数值 (!!)此处的单选为多选按钮组checkbox的一个按钮
         */
        selectAll: function (allCheck, radioChecks) {
            //筛选单选按钮组
            var radioValueEles = $(radioChecks);
            //点击全选时,同组按钮被同步
            $(document).delegate(allCheck, "click", function () {
                if (radioValueEles && radioValueEles.length > 0) {
                    for (var _r = 0; _r < radioValueEles.length; _r++) {
                        if (radioValueEles.hasOwnProperty(_r)) {
                            radioValueEles[_r].checked = $(this).is(":checked");
                        }
                    }
                }
            });
            //点击单选按钮时,
            $(document).delegate(radioChecks, "click", function () {
                $(allCheck)[0].checked = $(radioChecks + ":checked").length == $(radioChecks).length;
            });
        },
        /**
         * 反选与单选事件触发,可选择是否绑定全选按钮
         * @param inverseCheck 全选的选择器
         * @param radioChecks 单选checkbox的选择器
         * @param allChecks 反选的选择器
         */
        selectInverse: function (inverseCheck, radioChecks, allCheck) {
            //筛选单选按钮组
            var radioValueEles = $(radioChecks);
            $(document).delegate(inverseCheck, "click", function () {
                var allChecked = true;
                //点击反选时,同组按钮被反向选择
                if (radioValueEles && radioValueEles.length > 0) {
                    for (var _r = 0; _r < radioValueEles.length; _r++) {
                        if (radioValueEles.hasOwnProperty(_r)) {
                            radioValueEles[_r].checked = !radioValueEles[_r].checked;
                            allChecked &= radioValueEles[_r].checked;
                        }
                    }
                }
                //若有全选的触发,则检测全选按钮是否选中
                if (allCheck) {
                    $(allCheck)[0].checked = allChecked;
                }
            });
        }
    }
})(jQuery, document);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值