javascript - (原版)JS:复选框“选中”返回意外结果
问题描述
使用下面的笔,您可以看到有两个元素,一个按钮和一个复选框输入。
单击按钮时,我想确定复选框的状态(单击/未单击)。
无论是否存在视觉复选标记,控制台始终会记录false
. 为什么是这样?
https://codepen.io/sterlingbutters/pen/ZEGGgvm
编辑(代码):
HTML:
<input id='stall' type="checkbox">
<button id='button'>Test
JS:
var stall = document.getElementById('stall').checked;
var button = document.getElementById('button');
button.onclick = function () {
console.log(stall);
}
解决方案
试试这个:将元素分配给变量,然后在你的 onclick 函数中,checked
每次运行时你都会获得该属性。
如果您只是将布尔值存储checked
在变量中,它将永远不会更新。像布尔值这样的原始类型总是存储为简单的值,而不是作为自动更新对原始属性的引用。
var stall = document.getElementById('stall');
var button = document.getElementById('button');
button.onclick = function () {
console.log(stall.checked);
}
<input id='stall' type="checkbox">
<button id='button'>Test
推荐阅读
- swiftui - Swiftui 中的配件查找器?
- asp.net - Swagger UI 删除了 asp net core xml 中的内联样式、类
- flutter - 在颤动的灼热栏后面制作一个通知徽章
- javascript - 为什么更改 `window.location.href` 不能作为回报?
- python - 无法在循环中检查通过 Randint() 生成的两个六
- c# - 如何从c#中的给定日期制作-1(仅适用于日期)
- php - 在PHP中修剪Excel文件标题中的空格
- visual-studio-code - vscode 中 Mountebank EJS 的语法高亮
- python - $PATH 有正确的条目,但 python 无法执行
- docker - Docker sleep 命令有什么作用?