- A
<label>
с атрибутом for
при щелчке переключает соответствующий флажок / радио-кнопку с тем же id
. - . При установленном флажке радиокнопка снимает все отметки другие переключатели с одинаковыми
name
. - идентификаторами должны быть уникальными.
Теперь все ваши переключатели имеют одинаковый идентификатор . Помимо недействительности, это также приводит к тому, что нажатие любой радиокнопки вообще (поскольку все они находятся внутри <label>
с for="myRadioId"
) будет пытаться щелкнуть радиокнопку с идентификатором myRadioId
. Ваша первая радио-кнопка совпадает, поэтому на нее нажимают. (Неважно, что два других также будут совпадать, потому что идентификаторы должны существовать только один раз!)
Решение: Используйте разные идентификаторы для каждой радиокнопки:
<label for="myRadioId1" class="radio">
<input type="radio" name="myRadioField" id="myRadioId1" class="radio__input">
<div class="radio__radio"></div>
option 1
</label><br>
<label for="myRadioId2" class="radio">
<input type="radio" name="myRadioField" id="myRadioId2" class="radio__input">
<div class="radio__radio"></div>
option 2
</label><br>
<label for="myRadioId3" class="radio">
<input type="radio" name="myRadioField" id="myRadioId3" class="radio__input" disabled>
<div class="radio__radio"></div>
disabled
</label>
(Кроме того, им, вероятно, тоже понадобится value
, чтобы вы могли узнать, какой из них был нажат в конце, просмотрев данные формы.)