gpt4 book ai didi

javascript - 用js Bootstrap 检查/取消检查多个元素

转载 作者:行者123 更新时间:2023-11-28 08:48:02 25 4
gpt4 key购买 nike

我正在努力实现这一目标,但无法实现。我有一个 Bootstrap 模板,我想选中和取消选中多个复选框(如下所示: http://jsfiddle.net/v6wmV/177/ )我知道这是一个常见的问题,有很多解决方案,但似乎没有一个适用于这种情况,我想知道为什么。

这是 View 中的代码片段:

<div class="hide" id="states">
<div class="control-group">
<label class="control-label">Select</label>
<div class="check">
<div class="controls">
<label class="checkbox line">
<input type="checkbox" class="all" value="Todas" id="allstates" name="st[25]"/>All
</label>
<label class="checkbox line">
<input type="checkbox" value="Caba" id="" name="st[1]"/>Ciudad Autónoma de Buenos Aires
</label>
<label class="checkbox line">
<input type="checkbox" value="Buenos Aires" id="" name="st[2]"/> Buenos Aires
</label>
<label class="checkbox line">
<input type="checkbox" value="Catamarca" id="" name="st[3]"/> Catamarca
</label>
<label class="checkbox line">
<input type="checkbox" value="Chaco" id="" name="st[4]"/> Chaco
</label>
</div>
</div>
</div>
</div>

这是我的 js 文件(带有其他函数):

$('.hide').hide();

$('#registered').click(function(){
$('#content').toggle('fast');
});

$('#age').click(function () {
$('#content2').hide('fast');
$('#content1').show('fast');
});

$('#range').click(function () {
$('#content1').hide('fast');
$('#content2').show('fast');
});

$('#with').click(function(){
$('#child').toggle('fast');
});

$('#showstates').click(function(){
$('#states').show('fast');
});

$('#hidestates').click(function(){
$('#states').hide('fast');
});

//function for check/uncheck
$('.all').click(function() {
var $checkboxes = $(this).parent().find('input[type=checkbox]');
$checkboxes.prop('checked', $(this).is(':checked'));
});

这是 fiddle :http://jsfiddle.net/jimena/j56Dy/这不起作用

最佳答案

你需要上升两级而不是一级。 Parent() 为您提供标签元素,您需要转到“controls”类 div 来应用您的 find 方法:

var $checkboxes = $(this).parent().parent().find('input[type=checkbox]');

当然,这是对您的代码方式进行最小的更改。 Joe 提供的方法可能更聪明:无需使用 Parent() 方法即可获取所需的所有复选框。但为此,您可能需要 id 复选框组,这样您就不会选择 DOM 中的所有复选框。

顺便说一句,您是否必须在某个时候显示您的隐藏 div 才能看到您的复选框?

编辑> 好吧,实际上曼尼什对 parent 的看法是正确的,这是正确的,忘记我的答案:D

关于javascript - 用js Bootstrap 检查/取消检查多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520252/

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