首页 > 解决方案 > 如何使用 jquery 检查复选框?

问题描述

我有三个复选框,我正在尝试实现“全部”和“无”。

<div class="controls col-md-5">
     <input id="None" name="None" type="checkbox" value="true" /><input name="None" type="hidden" value="false" />
     <label for="None">None</label>
</div>

互联网上说要检查并设置“已检查”属性,就像您期望的那样。

if ($('#None').checked) {
    $('#cBox').checked = false;
}

但它不起作用。检查控制台,我可以看到 $('#None').checked 正在返回 'undefined'。
$('#None').attr('checked) 也应该可以工作,但也会返回 'undefined'。
$('#None') 正在工作。我可以展开它,当我选中和取消选中该框时,会看到“已选中”道具正在更新。

更新
$('#None').is(':checked') 有效!
$('#None').attr(':checked') 仍未定义。

现在我只需要在三个框上设置“选中”,但没有任何效果。

$('#None').attr('checked')=true 失败并显示“您无法分配给函数调用。”
$('#None').checked=true 不会失败,但不会改变任何东西。

标签: javascriptjquery

解决方案


解决方案是仔细查看在控制台中为 $('#None') 打开的节点。

if ($('#None')[0].checked) {
    $('#cBox')[0].checked = false;
}

工作得很好。
我继续发布了这个问题,因为答案是如此简单且难以找到。


推荐阅读