banner

checkbox全选反选功能

这是我之前写的一个全选反选函数,今天拿出来改了一下,想想就发出来了。 

其实可以不用jQuery的,不过,用jQuery的选择器要快一些,错误率低一些。

/**
 * jQuery全选反选小函数
 * @param {Object} dan 单选选择框的选择器或对象
 * @param {Object} all 全选选择框的选择器或对象
 * @param {Object} fan 反选按钮的选择器或对象
 */
function checkboxFun(dan,all,fan) {
    var $dan = $(dan);//获取单个选项对象集
    var $all = $(all);//获取全选按钮对象
    var $fan = $(fan);//获取反选按钮对象
    //给全选按钮添加click点击事件
    $all.on('click',function(){
        var that = this;
        $dan.each(function() {
            this.checked = that.checked;
        });
    });
    //为所有单个选项添加click点击事件
    $dan.on('click',function(){
        $dan.each(function() {
            $all.attr('checked',this.checked);
            return this.checked;
        });
    });
    //反选处理
    $fan.on('click',function(){
        var num = 0;
        this.checked = false;
        $dan.each(function() {
            this.checked = !this.checked;
            if (this.checked) {
                num++;
            }
        });
        //全部被选中  全选选中
        $all[0].checked = num==$dan.length;
    });
}


阅读: 2853
在同意共创许可协议(CC BY-NC-SA-4.0)的前提下,您可以转载本文。
橙色阳光
https://oss.so/article/59

相关阅读

留言评论

2条留言
nobird
zbp后台脚本里有个简单的BatchSelectAll
影院椅
JQ效果不错!!