Обновить переменную при выборе определенного радио - PullRequest
0 голосов
/ 05 августа 2020

У меня есть несколько радиостанций с идентификаторами от 1 до 15. Когда они выбраны, я хочу, чтобы 1 был добавлен к одной из трех переменных (countA countB или count C) в зависимости от того, какое число они имеют для своего идентификатора. Я не могу понять, что не так с моим кодом !!

var countA = 0
            var countB = 0
            var countC = 0 
            function check() {
                var selectors = document.getElementsByTagName("input")
                var numSelectors = selectors.length
                for (var i = 0; i < numSelectors; i++) {
                    if (selector[i].checked) {
                        if (selector[i].getAttribute("id") = "1" || selector[i].getAttribute("id") = "4" || selector[i].getAttribute("id") = "7" || selector[i].getAttribute("id") = "10" ||
                        selector[i].getAttribute("id") = "13") {
                            countA++
                        }
                        if (selector[i].getAttribute("id") = "2" || selector[i].getAttribute("id") = "5" ||
                        selector[i].getAttribute("id") = "8" || selector[i].getAttribute("id") = "11" ||
                        selector[i].getAttribute("id") = "14") {
                            countB++
                        }
                        if (selector[i].getAttribute("id") = "3" || selector[i].getAttribute("id") = "6" || selector[i].getAttribute("id") = "9" || selector[i].getAttribute("id") = "12" ||
                        selector[i].getAttribute("id") = "15") {
                            countC++
                            }
                            showCounts()
                    }
                            }
                            }

            function showCounts() {
                document.getElementById("testp").innerHTML = "Count A: " + countA + "Count B: " + countB + "Count C: " + countC
            } 

1 Ответ

0 голосов
/ 05 августа 2020

selector [i] должен быть selectors [i], вы пропустили "s"

var countA = 0
var countB = 0
var countC = 0
function check() {
    var selectors = document.getElementsByTagName("input")
    var numSelectors = selectors.length
    for (var i = 0; i < numSelectors; i++) {
        if (selectors[i].checked) {
          if (selectors[i].getAttribute("id") = "1" || selectors[i].getAttribute("id") = "4"
            || selectors[i].getAttribute("id") = "7" || selectors[i].getAttribute("id") = "10"
            || selectors[i].getAttribute("id") = "13") {
              countA++
          }
          if (selectors[i].getAttribute("id") = "2" || selectors[i].getAttribute("id") = "5" ||
            selectors[i].getAttribute("id") = "8" || selectors[i].getAttribute("id") = "11" ||
            selectors[i].getAttribute("id") = "14") {
            countB++
          }
          if (selectors[i].getAttribute("id") = "3" || selectors[i].getAttribute("id") = "6"
            || selectors[i].getAttribute("id") = "9" || selectors[i].getAttribute("id") = "12"
            || selectors[i].getAttribute("id") = "15") {
              countC++
            }
            showCounts()
          }
    }
}

function showCounts() {
  document.getElementById("testp").innerHTML = "Count A: " + countA + "Count B: " + countB + "Count C: " + countC
}
...