Вы можете использовать общий класс для всех переключателей со значением no
и массивом javascript для каждого метода.
Эта строка const radioNames = [...document.getElementsByClassName('no')];
получит все переключатели со значением no
...
является оператором распространения и преобразует коллекцию, чтобы в этой коллекции можно было использовать метод массива.
Эта строка item.addEventListener('change', checkIfAllNo)
прикрепит событие change
к переключателю со значением no
, чтобы он проверял значение для всех других переключателей
Метод массива every
вернет true, если все значение в этом массиве удовлетворяет условию.
Таким образом, в этой строке radioNames.every(item => {return item.checked;});
, если отмечены все переключатели со значением no
, тогда isAllFalse
будет истинным и будет активировано предупреждение.
const radioNames = [...document.getElementsByClassName('no')];
function checkIfAllNo() {
const isAllFalse = radioNames.every(item => {
return item.checked;
});
if (isAllFalse) {
alert('All False')
}
}
radioNames.forEach((item) => {
item.addEventListener('change', checkIfAllNo)
})
<input type="radio" id="attraction1" name="attraction" value="y" checked/> Yes
<input type="radio" class="no" id="attraction2" name="attraction" value="n" /> No
<br> Individual Attraction :
<input type="radio" id="individual1" name="individual" value="y" checked/> Yes
<input type="radio" id="individual2" class="no" name="individual" value="n" /> No
<br> Plan Board:
<input type="radio" id="planBoard1" name="planBoard" value="y" checked/> Yes
<input type="radio" id="planBoard2" class="no" name="planBoard" value="n" /> No