gpt4 book ai didi

javascript - 使用 jQuery 检查/取消检查 Bootstrap 复选框

转载 作者:太空狗 更新时间:2023-10-29 13:38:58 27 4
gpt4 key购买 nike

我又做了一个post昨天并没有成功。我现在将尝试重新排序想法并再次询问,因为我找不到解决方案(我是新手,我正在努力尝试)。

问题是我正在使用基于 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);
}
});

测试2

$('#allstates').click(function() {
$(".states").prop("checked",$("#allstates").prop("checked"))
});

还有其他我删除的。

注意:检查时没有显示 js 错误

最佳答案

在选择复选框时将属性添加到 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);
}
});

关于javascript - 使用 jQuery 检查/取消检查 Bootstrap 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25143083/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com