@iwebdesign

Как отследить выбранное значение radio в js?

Приветствую!
Необходимо отслеживать выбранный вариант и показывать соответствующий блок.
По умолчанию выбран первый вариант, при этом должен показывать только первый блок. Но при загрузке страницы сначала показываются все блоки (хоть и стоит checked у первого варианта). Словно скрипт игнорирует выбранный вариант. Далее, если "потыкать" по вариантам, то все работает.

В чем проблема? Сам не могу понять. Прошу помощи)

<div id="nav-radio"> 
<input name="radio-display" type="radio" value="1" checked> Показать 1
<input name="radio-display" type="radio" value="2"> Показать 2
<input name="radio-display" type="radio" value="3"> Показать 3
</div> 

<div id="block1">Блок 1</div> 
<div id="block2">Блок 2</div> 
<div id="block3">Блок 3</div> 

<script>
$("#nav-radio").on("change", "input[type=radio]", function(){
value_nav = '';
$('#nav-radio input[type=radio]').each(function() { value_nav = $('input[type=radio]:checked').val(); });
if (value_nav == '1') 
{
$('#block1').css('display', 'block');
$('#block2').css('display', 'none');
$('#block3').css('display', 'none');
} 
else if (value_nav == '2') 
{
$('#block1').css('display', 'none');
$('#block2').css('display', 'block');
$('#block3').css('display', 'none');
}
else if (value_nav == '3') 
{
$('#block1').css('display', 'none');
$('#block2').css('display', 'none');
$('#block3').css('display', 'block');
}
else 
{
//
}
});
</script>
  • Вопрос задан
  • 603 просмотра
Решения вопроса 1
Igor_307
@Igor_307
Фрилансер
https://codepen.io/igor307/pen/MWWNWZX
Вот так это можно решить
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Потому что у вас стоит событие "change", вызовите это событие при загрузке.
Ответ написан
Ваш ответ на вопрос

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

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