我想取消使用JavaScript的复选框。我有一个按钮,只需取消选中该框即可正常工作:
function clear() {
document.getElementById("check").checked = "";
}
我还有另一个按钮,如果未选中,我想选中该框,然后取消选中它。下面不会取消选中该框。我可以切换if语句,其工作方式却相反。有什么问题吗?
function switchIt() {
if (document.getElementById("check").checked !== "checked") {
document.getElementById("check").checked = "checked";
} else {
document.getElementById("check").checked = "";
}
谢谢!
答案 0 :(得分:2)
switch
是reserved word,请使用另一个
function switchIt() {
var box = document.getElementById("check");
if (box.checked) {
box.checked = false;
} else {
box.checked = true;
}
}
setInterval(switchIt, 1000);
<input type="checkbox" id="check" />
答案 1 :(得分:1)
将“ checked”视为布尔值,而不是字符串。
您可以像
那样将其反转element = document.getElementById("check")
element.checked = !element.checked
一个更具特色的示例:
var $toggle = document.getElementById('toggle');
var $checkbox = document.getElementById('checkbox');
var toggle_checkbox = function() {
$checkbox.checked = !checkbox.checked;
}
$toggle.addEventListener('click',toggle_checkbox);
<label>
Checkbox:
<input id="checkbox" type="checkbox" checked />
</label>
<button id="toggle">Toggle</button>
答案 2 :(得分:1)
您需要一个布尔值来做到这一点。
看看这支笔:
https://codepen.io/anon/pen/jJyXgO
let checkbox = document.querySelectorAll('#check')[0]
setInterval(function() {
checkbox.checked = !checkbox.checked
}, 1000)
答案 3 :(得分:0)
我以前从未见过使用“ checked”字符串完成此操作。尝试使用以下布尔值:
function change() {
if (document.getElementById("check").checked !== true) {
document.getElementById("check").checked = true;
} else {
document.getElementById("check").checked = false;
}
}
或更简单
function change() {
document.getElementById("check").checked = !document.getElementById("check").checked
}
别忘了,开关已保留,因此请使用其他名称,就像我对change()所做的