2010-07-29 91 views
1

我想添加JavaScript驗證到一堆複選框,基本上我想要的是一旦用戶選擇了3個複選框,它應該禁用除勾選的三個複選框外的所有複選框。Javascript複選框驗證

我該怎麼做呢?

Thanx提前!

回答

2

,如果你選擇其中的3下面將禁用複選框的休息,也使他們一旦您取消選擇的三個之一..

$(':checkbox').click(
    function(){ 
     var selected = $(':checkbox:checked').length; 
     if (selected == 3) 
     { 
      $(':checkbox:not(:checked)').attr('disabled',true); 
     } 
     else 
     { 
      $(':checkbox:not(:checked)').attr('disabled',false); 
     } 
    } 
); 

Live demo

+0

這很好,謝謝! – Odyss3us 2010-07-31 06:03:58

0

在onclick處理程序上,當單擊一個複選框時,如果未選中某個計數器,則會將該計數器加1,這會減少計數。提高計數後,測試一下是否爲三。那麼最簡單的方法可能是保存三個複選框的ID,或者保存在上一步。然後改變點擊事件,只有當ID匹配保存的ID時才返回true。 對不起,我現在沒有時間寫實際的代碼。希望這會讓你開始。

0

jQuery的

$("#container :checkbox").click(function(){ 
    if ($("#container :checkbox").length >= 3) { 
    $("#container :checkbox").attr("disabled", "disabled"); 
    } 
}); 
+0

@Matt,'$(this)'不是一個選項,因爲我們正在處理一組複選框.. – 2010-07-29 23:37:54

+0

是的,我應該使用.each()。 Upvoted您的解決方案,而不是 – ryan 2010-07-30 10:55:01