@Alex931

Как сделать, чтобы при итерации прибавлялся 1 балл?

Здравствуйте. Есть такой код.
calc.onclick = function() {
    var myform = this.form,
        chbx = myform['mytest'],
        chnm = myform['myname'],
        sum = 0;
    for (var i = 0; i < chbx.length; i++) {
        if (chbx[i].checked && (chbx[i].value == 'Дождь' || chbx[i].value == 'Снег'))
            sum++;
    }
    for (var i = 0; i < chnm.length; i++)
        if (chnm[i].checked && (chnm[i].value == 'Ваня'))
            sum++;
    if (myform.street.value == 'Московская') sum++;

    myform.result.value = sum;
    if (sum > 2) {
        document.querySelector('.good-answer').style = "display: block;"
    }
    // if (sum < 2) {
    //     document.querySelector('.bad-answer').style = "display: block;"
    // }
    if (sum < 3 || sum == 2) {
        document.querySelector('.bad-answer').style = "display: block;"
    }
};

В этом условии
if (chbx[i].checked && (chbx[i].value == 'Дождь' || chbx[i].value == 'Снег'))
sum++;
он прибавляет 2 балла, если условие выполняется. Как его переписать, чтобы при выполнении этих 2 условий sum++ прибавлялось +1?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Samad_Samadovic
Всё просто, у вас цикл начинает отсчёт с нуля, но длина вашего массива 1, следовательно у вас действие выполняется два раза и если у вас в любом случае нужно прибавить один, то зачем цикл?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы