Reputation: 615
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
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
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