我正在尝试将可以选择的复选框的数量限制为3.下面的代码可以工作,但我希望第6级和第7级始终可选,即如果有人选择1,2,3,那么6和7应该仍然可以选择。
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");
}
})
答案 0 :(得分:0)
更好的是设置一些类来让elemnts可选。这就是说,这将适用于你的情况,使用jQuery :gt()选择器:
if ($('input[type=checkbox]:not(:gt(4)):checked').length < 3)
如果这是您想要选择的最后两个,请改为使用:
if ($('input[type=checkbox]:lt(-2):checked').length > 3)
答案 1 :(得分:0)
试试这个,添加一个类来总是选择复选框
$('input[type=checkbox]').change(function(e){
if ($('input[type=checkbox]:checked').not('.selectable').length > 3) {
$(this).prop('checked', false)
alert("allowed only 3 main check boxes selectable");
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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 selectable" type="checkbox" name="vehicle" value="Bike">Level 6<br>
<input class="single-checkbox selectable" type="checkbox" name="vehicle" value="Bike">Level 7<br>
</div>
&#13;