Member 13402731 Ответов: 1

Как добавить с помощью цикла for ?


Если одно из "если" соответствует заданному интервалу, я хочу, чтобы оно было равно 1, и добавляю их. Мужчина и женщина являются кнопками типа радио, поэтому можно проверить только одну из них. Когда я добавляю консоль.журнал показывает только 0 или 3. Например, если lek и fib соответствуют заданному интервалу, я хочу, чтобы мой выход был равен 2. Я новичок в JavaScript и у меня не так много опыта работы с for loop. Любая помощь будет оценена по достоинству. Заранее спасибо.

Что я уже пробовал:

<body>
  <div id="criteria">

<label for="gender">Male</label><input id="male" type="radio" name="gender" autocomplete="off">

<label for="gender">Female</label><input id="female" type="radio" name="gender" autocomplete="off">

<label for="e">E</label><input id="e" type="number" name="e" autocomplete="off">

<label for="age">Age</label><input id="age" type="number" name="age" autocomplete="off">

<label for="lek">Lek</label><input id="lek" type="number" name="lek" autocomplete="off">

<label for="fib">Fib</label><input id="fib" type="number" name="fib" autocomplete="off">

</body>


function criteria() {
  var asd = 0;
  var subtotal = 0;
  var genderMale = document.getElementById('male');
  var genderFemale = document.getElementById('female');
  var age = parseFloat(document.getElementById('age').value);
  var e = parseFloat(document.getElementById('e').value);
  var lek = parseFloat(document.getElementById('lek').value);
  var fib = parseFloat(document.getElementById('fib').value);

  for ( var j = 0; j < 3 ; j++) {
  if (genderMale.checked && age < 50 && e >= 15 ) {
     asd = 1;
  } else if (genderMale.checked && age >= 50 && age <= 85 && e >= 20) {
     asd = 1;
  } else if (genderFemale.checked && age < 50 && e >= 20) {
     asd = 1;
  } else if (genderFemale.checked && age >= 50 && age <= 85 && e >= 30 ) {
     asd = 1;
  } else if (lek > 11 ) {
    asd = 1;
  } else if (fib > 400) {
    asd = 1;
  }
  subtotal += asd;
}
var total = +subtotal;
console.log(total);

}

document.getElementById('criteria').addEventListener('change', criteria);

1 Ответов

Рейтинг:
4

Graeme_Grant

Почему вы чувствуете, что вам нужен цикл for? Похоже, вам просто нужно:

if (genderMale.checked && age < 50 && e >= 15 )
{
    subtotal += 1;
}

if (genderMale.checked && age >= 50 && age <= 85 && e >= 20)
{
    subtotal += 1;
}

if (genderFemale.checked && age < 50 && e >= 20)
{
    subtotal += 1;
}

if (genderFemale.checked && age >= 50 && age <= 85 && e >= 30 )
{
    subtotal += 1;
}

if (lek > 11 )
{
    subtotal += 1;
}

if (fib > 400)
{
    subtotal += 1;
}


Member 13402731

Я собирался сравнить его с другим значением, поэтому подумал, что мне нужен цикл. Спасибо за быстрый ответ.