1. 程式人生 > >jQuery實現多選框的全選按鈕自動選中與消失

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. 一組複選框中有一個未被選中時, 全選框勾去除


*本文章裝載自 跌跌撞撞的小時代 的部落格