I got problem with disable and enable some checkboxesvia radiobutton. Basically, what I was trying is disabling some checkbox based on selected radio button and turn it back on if the radio button not selected.
This is a pizza order program. It has 3 options of pizza with some options of topping. Actually, the first and second radio button works as expected. But it become messy when the third radio button selected. The first and the second radio button not working again.
Anyone can help me fix this ?
Here is the piece of my JS syntax
function pizzaChoice() {
var menu = document.querySelectorAll('input[name="pizza"]');
var dis = [];
if (menu[0].checked || menu[1].checked || menu[2].checked) {
if (menu[0].checked) {
var dis = ['Lobster', 'Oyster', 'Salmon', 'Bacon', 'Duck', 'Sausage'];
for (const val of dis) {
document.getElementById(val).disabled = true;
}
} else {
var dis = ['Lobster', 'Oyster', 'Salmon', 'Bacon', 'Duck', 'Sausage'];
for (const val of dis) {
document.getElementById(val).disabled = false;
}
}
if (menu[1].checked) {
var dis = ['Avocado', 'Tuna', 'Duck', 'Sausage']
for (const val of dis) {
document.getElementById(val).disabled = true;
}
} else {
var dis = ['Avocado', 'Tuna', 'Duck', 'Sausage']
for (const val of dis) {
document.getElementById(val).disabled = false;
}
}
if (menu[2].checked) {
var dis = ['Avocado', 'Lobster', 'Oyster', 'Salmon'];
for (const val of dis) {
document.getElementById(val).disabled = true;
}
} else {
var dis = ['Avocado', 'Lobster', 'Oyster', 'Salmon'];
for (const val of dis) {
document.getElementById(val).disabled = false;
}
}
}
}