2015-11-06 173 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