这是脚本:
<script>
var a,b,c;
a = document.getElementById("myCheck1");
b = document.getElementById("myCheck2");
c = document.getElementById("myCheck3");
仅当另一个是注释时,此功能才起作用:
function check() {
if (a.checked == true)
document.getElementById("a").innerHTML="a true";
else
document.getElementById("a").innerHTML="a false";
if (b.checked == true)
document.getElementById("b").innerHTML="b true";
else
document.getElementById("b").innerHTML="b false";
if (c.checked == true)
document.getElementById("c").innerHTML="c true";
else
document.getElementById("c").innerHTML="c false";
}
此功能不起作用,使另一个功能不起作用:
function clickOnB() {
if (a.checked == true || c.checked == true)
a.checked = false;
c.checked = false;
else
b.checked = true;
}
</script>
这是身体:
Checkbox1: <input type="checkbox" id="myCheck1" value="a"/>
Checkbox2: <input type="checkbox" id="myCheck2" onclick="clickOnB() "
value="b"/>
Checkbox3: <input type="checkbox" id="myCheck3" value="c"/>
<p id="a"></p>
<p id="b"></p>
<p id="c"></p>
<button type="button" onclick="check()" />
我不明白为什么我的代码不起作用,有人可以检查一下吗?我很新(JavaScript)
答案 0 :(得分:2)
您的函数中存在语法问题:
此
function clickOnB() {
if (a.checked == true || c.checked == true)
a.checked = false;
c.checked = false; //Not in the if because of missing brackets
else //Syntax error
b.checked = true;
}
应该是
function clickOnB() {
if (a.checked == true || c.checked == true) {
a.checked = false;
c.checked = false;
} else {
b.checked = true;
}
}
如果未在if
条件上指定方括号,则在if
条件为true
的情况下,将仅评估以下命令(直到下一个分号)。在这种情况下,由于要执行多个命令,因此需要使用方括号。