jQuery实现多选框的全选按钮自动选中与消失

页面中实现全选,反选,一组复选框选中时全选按钮自动选中,一组中有一个未选中时全选按钮取消

$('#checkAll').click(function(){  
            if(this.checked) {  
                $("input[type=checkbox][name=ckjsmc]").each(function(){  
                    $(this).attr('checked', 'true');  
                });  
            } else {  
                $("input[type=checkbox][name=ckjsmc]").each(function(){  
                    $(this).removeAttr('checked');  
                });  
            }  
        });  
          
     function checkOne(){  
        var count = 0;  
        $("input[type=checkbox][name=ckjsmc]").each(function(){  
            if($(this).attr('checked') != 'checked'){// 判断一组复选框是否有未选中的  
                count+=1;  
            }  
        });  
        if(count == 0) { // 如果没有未选中的那么全选框被选中  
            $('#checkAll').attr('checked', 'true');  
        } else {  
            $('#checkAll').removeAttr('checked');  
        }  
     }  


这里是checkOne()是在每个复选框的onclick方法中调用的, 由于我这里的一组复选框是动态用jquery拼接车来的, 所以不能用jquery的方式$().click()来注册点击事件(经多次测试用jquery注册不得行, 点击无任何反应), 这里就必须将方法在拼接的js中使用onclick来调用方法.


此例子可以实现: 1. 选中全选框时,一组复选框被选中

                           2. 反选全选框时,一组复选框都不被选中

                           3. 一组复选框中都选中时, 自动勾选全选框

                           4. 一组复选框中有一个未被选中时, 全选框勾去除


*本文章装载自 跌跌撞撞的小时代 的博客

猜你喜欢

转载自blog.csdn.net/qq_36940798/article/details/77942782