javascript - JS中限制多个复选框的数量
问题描述
我有多个带有限制的复选框,但它不适用于这样的 JS
$(".checkbox-limit").on('change', function(evt) {
var limit = parseInt($(this).parent().data("limit"));
if($(this).siblings(':checked').length >= limit) {
this.checked = false;
alert("The limit is " + limit)
}
});
对于这样的html:
<div class="row js_check_two" data-limit="2">
<div class="col-md-12">
<label>
<input type="checkbox" class="checkbox-limit" value="1">
</label>
</div>
<div class="col-md-12">
<label>
<input type="checkbox" class="checkbox-limit" value="2">
</label>
</div>
<div class="col-md-12">
<label>
<input type="checkbox" class="checkbox-limit" value="3">
</label>
</div>
<div class="col-md-12">
<label>
<input type="checkbox" class="checkbox-limit" value="4">
</label>
</div>
</div>
此代码不起作用,
任何建议将不胜感激!
解决方案
您必须将脚本更改为此 -
$(".checkbox-limit").on('change', function(evt) {
var limit = parseInt($(this).parent().parent().parent().attr("data-limit"));
console.log($('input.checkbox-limit:checked').length);
if($('input.checkbox-limit:checked').length > limit) {
this.checked = false;
alert("The limit is " + limit);
}
});
推荐阅读
- angular-material - 在有角度的材质调色板(例如 $mat-indigo 或 $mat-pink)中,A100、A200、A400 和 A700 用于什么?
- android - @Entity 注解中无法解析的符号
- php - 如何替换 PHP 中的重音和小写字符?
- sql - 如何使用sql将两个不同的列数据显示在一列中?
- android - 如何使用可绘制的 xml 文件使用图层列表创建这样的波浪效果
- android - 从移动应用程序进行身份验证并从桌面应用程序访问文件
- geometry - 用于正则化或规范化应该是矩形的多边形的算法
- python - (Keras) TensorBoard 回调是否适用于打开 return_state 的循环网络?
- r - R函数-将LMER分配给动态变量名称
- matlab - K-means 排序标签