Javascript 复选框设置为checked=false不工作
我正在生成一个带有Javascript 复选框设置为checked=false不工作,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我正在生成一个带有checked=“false”的HTML输入,但是复选框显示为选中状态 我在javascript控制台中执行了以下操作,但不太清楚发生了什么。使用.prop()将值设置为false后生成的HTML看起来相同,只是现在表单上没有选中复选框 > $(':input[checked]').prop('checked'); < true > $(':input[checked]') < [ <input type="checkbox" class="c
checked=“false”
的HTML输入,但是复选框显示为选中状态
我在javascript控制台中执行了以下操作,但不太清楚发生了什么。使用.prop()
将值设置为false后生成的HTML看起来相同,只是现在表单上没有选中复选框
> $(':input[checked]').prop('checked');
< true
> $(':input[checked]')
< [
<input type="checkbox" class="caseVal" checked="false">
]
> $(':input[checked]').prop('checked',false);
< [
<input type="checkbox" class="caseVal" checked="false">
]
$(':输入[选中]).prop('checked');
$(':输入[选中])
< [
]
>$(':输入[checked]).prop('checked',false);
< [
]
我的印象是,我应该只设置checked=“checked”
,或者根本不包括checked属性,如果它为false,这是最佳实践吗?无论哪种方式,我都想知道上述代码中发生了什么。不要将checked=“false”
您只能将checked=“checked”用于有效的XHTML,否则您会这样做
<input type="checkbox" checked>
浏览器不关心为checked属性指定了什么值,只要它在checkbox输入标记中看到
checked
,它就被标记为checked。如何取消选中在这种情况下,示例my code是:(见下文)
包括为真,省略为假你的例子对我很有用。您只是在查看控制台输出,还是实际的DOM呈现?您是否尝试过
.removeAttr()
?请检查prop()的这个可能的副本,它不更新HTML,只更新DOM。如果以后要检查HTML,请使用attr()
或removeAttr()
是的,谢谢。只要系统允许,我会尽快接受。
if(previousHighlightedCheckbox!=null) {
console.log(sent.id, previousHighlightedCheckbox); // current checkbox and previous check box values are different.
document.getElementById(previousHighlightedCheckbox).checked = false; // still this does not uncheck previous one
}