当未选中2中的2个时,jquery禁用剩余复选框

时间:2015-07-13 00:46:58

标签: jquery checkbox

我想限制取消选中所有3个复选框的功能。

<input type="checkbox" value="one" checked>  one
<input type="checkbox" value="two" checked> two
<input type="checkbox" value="three" checked> three


$(":checkbox").click(function() {                             
  if ($("input:checked").length == 2){                                                        
     $(':checkbox(:checked)').prop('disabled', false);  
  }else{                                                        
     $(':checkbox(:checked)').prop('disabled', true); 
  }                                                        
});       

我无法让它禁用未选中的最后一个复选框。 请帮忙!

http://jsfiddle.net/Vg4ty/81/

2 个答案:

答案 0 :(得分:1)

$(":checkbox").click(function() {
  if ($("input:checked").length == 1) {
    $(':checked').prop('disabled', true);
  } else {
    $(':checked').prop('disabled', false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="checkbox" value="one" checked>one
<input type="checkbox" value="two" checked>two
<input type="checkbox" value="three" checked>three

答案 1 :(得分:0)

捕获click事件,然后阻止默认操作,如果它会导致单击元素的数量为零。

$("input[type=checkbox]").on("click",function(evt) {               
     if ($("input[type=checkbox]:checked").length == 0) {
         evt.preventDefault();
     }                                                        
});