使用jQuery检查/取消检查引导复选框
check/uncheck bootstrap checkboxes with jQuery
我昨天又发了一篇帖子,但是没有成功。我现在将尝试重新排序我的想法,并再次询问,因为我找不到解决方案(我是一个新手,我真的很努力)。
问题是,我正在使用这个基于Bootstrap的模板,这是我可以直接从其中一个文件中看到的代码,我正在我的项目中使用:
html片段:
<div class="hide" id="states">
<div class="control-group">
<label class="control-label">Seleccione</label>
<div class="controls">
<label class="checkbox span4">
<input type="checkbox" value="all" id="allstates" name="all"/>Todas
</label>
<label class="checkbox span4">
<input class="states" type="checkbox" value="Caba" id="" name="st[]"/>Ciudad Autónoma de Buenos Aires
</label>
<label class="checkbox span4">
<input class="states" type="checkbox" value="Buenos Aires" id="" name="st[]"/> Buenos Aires
</label>
<label class="checkbox span4">
<input class="states" type="checkbox" value="Catamarca" id="" name="st[]"/> Catamarca
</label>
</div>
</div>
</div>
经过大量的搜索,我发现当检查它时,我的代码看起来像这样(片段):
<div class="controls">
<label class="checkbox span4">
<div class="checker" id="uniform-allstates">
<span>
<input type="checkbox" value="all" id="allstates" name="all">
</span>
</div>Todas
</label>
<label class="checkbox span4">
<div class="checker">
<span>
<input class="states" type="checkbox" value="Caba" id="" name="st[]">
</span>
</div> Ciudad Autónoma de Buenos Aires
</label>
<label class="checkbox span4">
<div class="checker">
<span>
<input class="states" type="checkbox" value="Buenos Aires" id="" name="st[]">
</span>
</div> Buenos Aires
</label>
<label class="checkbox span4">
<div class="checker">
<span>
<input class="states" type="checkbox" value="Catamarca" id="" name="st[]">
</span>
</div> Catamarca
</label>
</div>
正如你所看到的,另一个div和另一个span被添加(真的不知道为什么或如何),所以我猜现在是一些DOM问题,我有。
这是我的js文件的片段:
$('#allstates').click(function() {
$('.checkbox').find('span').addClass('checked');
});
所以这个函数选择我所有的复选框(即使是那些我不想要的,因为它们属于另一个类别)。
我想知道为什么要添加div和span,以及如何只选择我想要的复选框。
我一直在尝试这样的代码,但没有成功:
测试1$('#allstates').click(function() {
if ($(this).is(':checked')) {
$('span input').attr('checked', true);
} else {
$('span input').attr('checked', false);
}
});
test2
$('#allstates').click(function() {
$(".states").prop("checked",$("#allstates").prop("checked"))
});
和其他我擦掉的
注意:检查
在选择复选框时将prop设置为true也很重要:
$("#checkAll").click(function(){
var check = $(this).prop('checked');
if(check == true) {
$('.checker').find('span').addClass('checked');
$('.checkbox').prop('checked', true);
} else {
$('.checker').find('span').removeClass('checked');
$('.checkbox').prop('checked', false);
}
});
因为我提到这个函数检查了我所有的复选框(即使是那些不应该被选中的),我一直在试图寻找解决方案:
$('#allstates').click(function() {
$('.checkbox').find('span').addClass('checked');
});
但这不是我想要的。我还提到,我注意到,代码是"不同"时,检查它(在Chrome与F12)。因此,正如@thecbuilder所说,它的变化是为了添加样式。
我意识到既然代码在变化…我不得不改变类(复选框),从我开始"span标签"搜索,所以我改变类复选框id状态,这是结果:
$('#allstates').click(function() {
if($(this).attr("checked")){
$('#states').find('span').addClass('checked');
}else{
$('#states').find('span').removeClass('checked');
}
});
我想你正在寻找这样的代码:
$(document).ready(function()
{
$("#allstates").on("change", function()
{
var checked = $(this).prop("checked");
$(this).parents(".controls")
.first()
.find("input[type=checkbox]")
.prop("checked", checked);
});
});
JsFiddle例子
当id为allstates
的复选框的状态发生变化时,获取复选框的值,找到类为controls
的第一个父html元素,然后仅用checked值更新该元素中的所有复选框。
简单引导复选框
<label><input type="checkbox" value="">Option 1</label>
在Chrome开发工具中调试时,标签看起来像https://tinker.press/images/bootstrap -复选框标签- 2017 - 01 - 17 - _084755.png
选择复选框状态,将true|false
设置为lable.control.checked
label.control.checked = false; //uncheck
label.control.checked = true; //check
视频演示https://youtu.be/3qEMFd9bcd8
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- j查询检查复选框是否被选中,然后向输入字段添加值
- 检查复选框状态-Javascript
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 如何检查复选框是否在特定表单中被选中
- 如何在HTML和JavaScript中检查复选框是否为真
- JavaScript 检查复选框是否被输入值禁用
- 如何使用 *jquery mmenu 插件*检查复选框是否处于选中状态
- 按使用 jquery 检查复选框的顺序显示文本
- Acrobat XI Pro:检查复选框的状态以影响计算
- AngularJS指令,用于检查复选框列表中是否至少选中了一个项目
- 检查复选框是否被选中(js/jquery)
- 如何在单击复选框之前检查复选框是否已选中
- 使用jsTree以编程方式检查复选框节点
- 单击复选框时检查复选框的选中状态
- 如何检查复选框是否被选中
- jQuery检查复选框是否被选中,并使用复选框's值,如果它's是空的
- jQuery-检查复选框值(链接jQuery函数与If Statment)
- 如何确保使用Javascript检查复选框
- 如何检查复选框是否与Protractor、CucumberJS和Chai一起选中