jQuery實現多選框的全選按鈕自動選中與消失
阿新 • • 發佈:2018-12-01
頁面中實現全選,反選,一組複選框選中時全選按鈕自動選中,一組中有一個未選中時全選按鈕取消
$('#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. 一組複選框中有一個未被選中時, 全選框勾去除
*本文章裝載自 跌跌撞撞的小時代 的部落格