Вам необходимо добавить прослушиватель событий change
на свои радиобоксы.
Для более легкого использования, добавьте общий класс к вашему тексту div (здесь text-div
) .
Внутри обработчика событий проверьте, проверен ли ввод с помощью this.checked
, скройте все .text-div
деления и покажите только тот, индекс которого аналогичен значению радиобокса (- 1, потому что это 0- индексированный массив) :
let elements = document.querySelectorAll(".m-radio input");
let myFunction = function() {
if(this.checked){
//Get all your text divs
let els = document.querySelectorAll('.text-div');
for(let el of els){
//Hide them all
el.style.display = 'none';
}
//Only show the one with the same index as the radiobox value - 1
els[(+this.value) - 1].style.display = 'block';
}
};
//Attach your event handler for every radiobox
for (let element of elements) {
element.addEventListener('change', myFunction, false);
}
//Show the first text div at the start
document.querySelectorAll('.text-div')[0].style.display = 'block';
.text-div{
display: none;
}
<div class="m-form__group form-group row">
<div class="col-9">
<div class="m-radio-inline mt-3">
<label class="m-radio">
<input type="radio" name="type" value="1" checked> First
<span></span>
</label>
<label class="m-radio">
<input type="radio" name="type" value="2" required=""> Second
<span></span>
</label>
</div>
</div>
</div>
<div class="text-div first">First Content</div>
<div class="text-div second">Second Content</div>