将可选择的复选框数量限制为三个(不包括一个)
Restricting the number of checkboxes that can be selected to three excluding one
我试图将可以选择的复选框数量限制为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");
}
})
Fiddle:
试试这个,添加一个类到始终可选择的复选框
$('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");
}
})
<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>
最好设置一些类,让elemnts可选。也就是说,这将在您的情况下工作,使用jQuery:gt()选择器:
if ($('input[type=checkbox]:not(:gt(4)):checked').length < 3)
-jsFiddle-
如果这是你想要选择的最后两个,请使用:
if ($('input[type=checkbox]:lt(-2):checked').length > 3)
相关文章:
- 为什么window.open不打开一个以变量形式给出的链接
- mongoose.connect undefined不是一个函数
- SuiteScript2.0-包括一个自定义文件
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 在页面上创建多个元素,而不是一个发生更改的元素
- 聚合物是一个框架而不是一个库.如何模块化地使用web组件
- jquery UI draggable:UI.children不是一个函数
- jQuery Mobile Undefined不是一个函数
- JS异常:animate不是一个函数
- TypeError:this.getAttribute不是一个函数-javascript
- 如何将页面上的所有电话号码更改为可点击链接,不包括特定类别的元素
- jQuery(“ul.sf菜单”).superfish不是一个函数
- 尝试对对象数组进行排序但拼接不是一个函数
- 将事件侦听器添加到多个元素(不包括一个元素)
- 将可选择的复选框数量限制为三个(不包括一个)
- jsPDF使用downloadify包括一个不工作的图像
- 计算一个ul的直接子元素,不包括脚本标记
- 如何得到一个月不包括周末的天数
- 是否有可能包括一个文件夹的javascript文件,而不是一个接一个地添加它们
- 为什么我得到这个错误'TypeError undefined不是一个对象…'包括Shopify链接产品选