【发布时间】:2014-08-31 08:02:16
【问题描述】:
如果只选中了该 div 中的一个复选框,我想为该 div 中的所有复选框添加一个类。我不认为我离得太远,但我被困住了。这就是我所拥有的。
var checkboxes = $("#myContent input[type='checkbox']");
$(document).on("click", checkboxes, function() {
if(checkboxes.is(":checked")) {
checkboxes.removeClass('invalid').addClass('valid');
}
else {
checkboxes.removeClass('valid').addClass('invalid');
}
});
我尝试用警报代替 addClass/removeClass,但是在选中和取消选中框时都会收到相同的警报(我在“else”语句中遇到的警报)。我一定很近,有人知道我错过了什么吗?
我的 HTML 如下(我也在用 Smarty):
<div class="pd5" id="myContent">
{foreach from=$cLibrary key=k item=l}
<div class="clrBoth {cycle values=',AltRows0'} pd5 fLeft p100">
<input type="hidden" name="isform[{$k}]" value="{$l.isform}" class="valid" />
<div class="fLeft px20">
<input type="checkbox" value="{$k}" name="contentValue[{$k}]" id="contentData_{$k}" class="invalid" {foreach item=cn key=po from=$selectedContent}{if $cn eq $k} checked {/if}{/foreach} />
</div>
</div>
</div>
【问题讨论】:
-
var checkboxes = $("myContent input[type='checkbox']"); checkboxes.on("click", function () { if (this.checked) { checkboxes.removeClass('invalid').addClass('valid'); } else { checkboxes.removeClass('valid').addClass('invalid'); } });
标签: javascript jquery