限制可以选择的复选框数量

时间:2015-11-24 12:58:54

标签: javascript jquery html checkbox

我正在尝试将可以选择的复选框的数量限制为3.以下代码可以使用,但我想将其限制为包含复选框的div类pricing-levels-3

HTML:

 <div class="pricing-levels-3">
      <p><strong>Which level would you like? (Select 3 Levels)</strong></p>
      <input class="single-checkbox"type="checkbox" name="vehicle" value="Bike">Level 1<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 2<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 3<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 4<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 5<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 6<br>
      <input class="single-checkbox" type="checkbox" name="vehicle" value="Bike">Level 7<br>
    </div>

的jQuery

$('input[type=checkbox]').change(function(e){
if ($('input[type=checkbox]:checked').length > 3) {
    $(this).prop('checked', false)
    alert("allowed only 3");
}
})

Fiddle:

2 个答案:

答案 0 :(得分:3)

试试这个Fiddle

$('.pricing-levels-3 input[type=checkbox]').change(function(e){
   if ($('.pricing-levels-3 input[type=checkbox]:checked').length > 3) {
        $(this).prop('checked', false)
        alert("allowed only 3");
   }
})

答案 1 :(得分:1)

你应该阅读Selectors

$('.pricing-levels-3 > input[type=checkbox]').change(function(e){
   if ($('.pricing-levels-3 > input[type=checkbox]:checked').length > 3) {
        $(this).prop('checked', false)
        alert("allowed only 3");
   }
})