【发布时间】:2014-09-28 08:48:51
【问题描述】:
我昨天又做了一个post,但没有成功。我现在将尝试重新排序并再次询问,因为我找不到解决方案(我是新手,我正在努力)。
问题是我正在使用这个基于 Bootstrap 的模板,这是我可以直接从其中一个文件中看到的代码,并且我正在我的项目中使用:
html sn-p:
<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>
经过大量搜索后,我发现我的代码看起来像这样 (sn-p):
<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 文件的 sn-p:
$('#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 错误
【问题讨论】:
-
$('#checkboxId').prop('checked');来自stackoverflow.com/a/28604443/1225421
标签: javascript jquery html twitter-bootstrap checkbox