2015-11-06 174 views
-2

我有多個複選框,我需要互斥; 我使用此代碼和它的工作原理:複選框和複選框

$("input[name=ckbprf]").click(function() {      
    $(this).closest("table").find("input").not(this).removeAttr("checked"); 
}); 

我需要的,如果已經被選中的複選框之一,但它仍然當我點擊它選中。只有當我點擊另一個時,它纔可能被取消選中。

謝謝。

+1

如果你想要相互排斥的複選框,爲什麼不使用單選按鈕?他們有這種行爲;沒有JS要求 –

+0

如果因任何原因(???)你仍然想使用複選框,那麼在點擊處理程序中使用:'this.checked = true;' –

回答

0

保持複選框被選中,如果它已被檢查如下。

$("input[name=ckbprf]").click(function() { 
     if (!$(this).is(':checked')) { 
      $(this).prop('checked', true); 
      return; 
     } 
     $(this).closest("table").find("input").not(this).removeAttr("checked"); 
    }); 
+0

它的工作原理!謝謝,Azim :) – Riddick