я не могу понять, почему мой код не работает, может кто-нибудь проверить это?Я очень новый (JavaScript) - PullRequest
0 голосов
/ 21 сентября 2018

Это сценарий:

<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)

1 Ответ

0 голосов
/ 21 сентября 2018

В вашей функции есть синтаксическая проблема:

Это

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.Поскольку вы хотите, чтобы в этом случае выполнялось несколько команд, вам необходимо использовать скобки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...