@Kardamon90

Как сделать появление и пропадание объекта по активации input radio?

При выборе радиокнопки, следующий за ней инпут должен появиться, а при выборе другой радиокнопки скрываться. У меня удалось реализовать функцию наполовину: при выборе радиокнопки инпут появляется, но не скрывается. Как исправить?

<label class="radio">
	<input value="1" name="delivery" type="radio" class="radio__input">
	<span class="radio__fake"></span>
	<span class="radio__text">Доставка</span>
</label>
<input type="text" class="order__form-input input">

$(".radio__input").on("click", function () {
	if ($(this).is(":checked")) {
		$(this).parent().next().addClass('active');
	}
	else {
		$(this).parent().next().removeClass('active');
	};
});
  • Вопрос задан
  • 28 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const $radio = $('.radio').on('change', function() {
  $radio.next().removeClass('active');
  $(this).next().addClass('active');
});

или

const radio = document.querySelectorAll('.radio');
const onChange = e => radio.forEach(n => n.nextElementSibling.classList.toggle('active', n === e.currentTarget));
radio.forEach(n => n.addEventListener('change', onChange));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы