我在复选框中进行了编码:
<input type="checkbox" name="ECVValve" id="ECVValve" onChange="setEcvcheck();">
复选框也可以通过其他功能(在某些条件下激活)检查,如下所示。
function setEcvcheck() {
if (document.getElementById("ECVValve").checked) {
document.getElementById("ECVValve").checked = false;
} else {
document.getElementById("ECVValve").checked = true;
}
}
如果选中该复选框,则选中&#34;&#34;通过函数setEcvcheck,不会触发onChange事件。它是如何工作的还是我错过了其他的东西?
答案 0 :(得分:2)
我认为在代码中有一个检查和取消检查循环..因为每次将其更改为true时,它将调用onChange,然后它将返回功能并将其设置为false。 您是否尝试检查并取消选中相同的复选框? (ECVValve)?
答案 1 :(得分:1)
实际上,事件正在解雇。当您单击时,检查它,您的JavaScript代码取消选中它。而且你永远不会检查复选框。您不需要编写javascript代码来检查或取消选中。为了确保它被解雇,试试这个:
function setEcvcheck() {
alert('Ok!');
}
答案 2 :(得分:1)
您可以以编程方式触发复选框的onchange事件。
在下面的代码中,当单击按钮切换复选框并强制触发它的onChange事件。
function test() {
console.log("test");
}
function btnclick() {
var x = document.getElementById("1");
x.checked = !x.checked;
document.getElementById("1").onchange()
}
<input type="checkbox" onChange="test()" id="1">hi
<button onClick="btnclick()">btn</button>