danjbh
danjbh

Reputation: 615

change radio value with form input

I am trying to change the value of a radio button with a form input: https://jsfiddle.net/91oz4nfL/

Essentially by default I want it to be NO but if the argument is triggered then change the radio button to YES

function calculateBMI() {

  var weight = document.getElementById('input1').value;
  var height = document.getElementById('input2').value / 100;
  var output = document.getElementById('output');

  var bmi = ((weight) / (height * height));

  var result = ""
  if (bmi > 22) {
    result = "Change question radio to yes!";
  }

  bmi = bmi.toFixed(2);

  if (bmi && bmi != Number.POSITIVE_INFINITY) {
    output.innerHTML = result;
    output.style.display = 'block';
  } else {
    result.innerHTML = '';
    output.style.display = 'none';
  }
}

document.getElementById('input1').addEventListener('keyup', calculateBMI);
document.getElementById('input2').addEventListener('keyup', calculateBMI);

Upvotes: 0

Views: 40

Answers (2)

Adam McKenna
Adam McKenna

Reputation: 2445

You simply need to add a few lines in your if statement, like so

if (bmi > 22) {
    document.getElementById("Radio9").checked = true;
    result = "Change question radio to yes!";
} else {
    document.getElementById("Radio10").checked = true;
}

If a radio button is true this means that it is checked. The above code sets the 'Yes' radio button to checked if bmi is greater than 22, otherwise sets the 'No' radio button to true.

https://jsfiddle.net/91oz4nfL/

Upvotes: 2

Pabs123
Pabs123

Reputation: 3435

Try this:

  var radioYes = document.getElementById('Radio9');
  var radioNo = document.getElementById('Radio10');
  var weight = document.getElementById('input1').value;
  var height = document.getElementById('input2').value / 100;
  var output = document.getElementById('output');

  var bmi = ((weight) / (height * height));

  var result = ""
  debugger
  if (bmi > 22) {
    result = "Change question radio to yes!";
    radioYes.checked = true;
  }else{
    radioNo.checked = false;
  }

https://jsfiddle.net/n820pz3e/1/

Upvotes: 1

Related Questions