如何使用jquery防止用户取消一组复选框输入中的所有复选
How to prevent user from uncheck all checks from a group of checkboxes inputs with jquery
你好,我正在使用一组复选框来过滤feed中的数据,基本上我将所有复选框默认设置为活动,我如何防止用户取消勾选所有选项?我至少要检查一个。希望有人能帮忙。
我创建了一个jsfiddle
这是我的html:<div class="pull-left" id="filter">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active" id="btnOne">
<input type="checkbox" name="filter"> One Selected
</label>
<label class="btn btn-primary active" id="btnTwo">
<input type="checkbox" name="filter"> Two Selected
</label>
<label class="btn btn-primary active" id="btnThree">
<input type="checkbox" name="filter"> Three Selected
</label>
<label class="btn btn-primary active" id="btnFour">
<input type="checkbox" name="filter"> Four Selected
</label>
</div>
</div>
将此代码添加到javascript, JSFiddle
$(function() {
$(".btn.active").click(function(){
if($(this).hasClass('active')){
if($(".btn.active").length===1){
return false;
}
}
});
});
注意,你没有改变复选框的checked
属性,你使用的是带有active
类切换行为的按钮。
最好是用radio buttons
代替checkboxes
。
我发现更改事件更可靠,我会阻止用户取消选中所有复选框,如下所示:
$(':checkbox[name=filter]').on('change', function() {
$(':checkbox[name=filter]:checked').length == 0
&& !this.checked
&& $(this).prop('checked', true);
});
$(function() {
$(':checkbox[name=filter]').on('change', function() {
$(':checkbox[name=filter]:checked').length == 0 && !this.checked && $(this).prop('checked', true);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pull-left" id="filter">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active" id="btnOne">
<input type="checkbox" name="filter"> One Selected
</label>
<label class="btn btn-primary active" id="btnTwo">
<input type="checkbox" name="filter"> Two Selected
</label>
<label class="btn btn-primary active" id="btnThree">
<input type="checkbox" name="filter"> Three Selected
</label>
<label class="btn btn-primary active" id="btnFour">
<input type="checkbox" name="filter"> Four Selected
</label>
</div>
</div>
相关文章:
- 我无法检查输入复选框元素
- 如何使用jquery从输入复选框中检索文本
- 根据条件使用ng repeat动态显示输入复选框
- 如何在选中所有输入复选框和单选组后显示javascript确认消息
- 如何保留输入复选框值的存储数组
- 如何使用 jquery 在页面加载时检查带有值的输入复选框字段
- 未捕获的错误:语法错误,无法识别的表达式:输入:复选框[名称=ninja_forms_field_57[术语]]
- 如何从输入复选框中获取值以在查询中使用它来显示信息
- 输入复选框 true 或选中或是
- Ember.js表中的输入复选框
- 如何使用输入复选框创建/更新数组
- 输入(复选框)在 IE8 中配置时不起作用:选中
- 语法错误,无法识别的表达式:[对象 HTMLDivElement]输入:复选框[名称=]:选中
- Jquery - .prop 不会动态选中我的输入复选框
- 使用javaScript更改输入复选框选中的属性
- 数组输入复选框上的“依赖”复选框
- 输入复选框总是返回false
- 输入复选框数组,如果未选中,jQuery不会发送任何值
- “操纵输入”复选框
- 按字母顺序对输入/复选框元素进行排序