Сборник приемов работы с радиокнопками в JQuery. Рассмотрим на примере группы контролов с одинаковым name="radio"
.
<label><input type="radio" name="radio" value="1"> Radio Button 1</label>
<label><input type="radio" name="radio" value="2"> Radio Button 2</label>
<label><input type="radio" name="radio" value="3"> Radio Button 3</label>
Можно получить текст у отмеченного элемента, методом closest()
получаем ближайшего родителя (в данном случаи <label>
), далее получаем его текстовое содержание.
// Отметить 1-й
$('input[name="radio"][value="1"]').prop('checked', true);
// Отметить 2-й
$('input[name="radio"][value="2"]').prop('checked', true);
// Отметить 3-й
$('input[name="radio"][value="3"]').prop('checked', true);
// Снять
$('input[name="radio"]').prop('checked', false);
Метод trigger()
имитирует клик по radio, т.е. по мимо включения, сработают все события элемента.
// Заблокировать
$('#btn-block').click(function(){
$('input[name="radio"]').prop('disabled', true);
});
// Разблокировать
$('#btn-unblock').click(function(){
$('input[name="radio"]').prop('disabled', false);
});
<p class="text-center">
<label><input type="radio" name="radio" value="1"> Radio Button 1</label><br>
<label><input type="radio" name="radio" value="2"> Radio Button 2</label><br>
<label><input type="radio" name="radio" value="3"> Radio Button 3</label>
</p>
<div class="block-text" id="block-1">
Блок текста №1
</div>
<div class="block-text" id="block-2">
Блок текста №2
</div>
<div class="block-text" id="block-3">
Блок текста №3
</div>
$('input[name="radio"]').click(function(){
var target = $('#block-' + $(this).val());
$('.block-text').not(target).hide(0);
target.fadeIn(500);
});
Можно и без условий, но тогда не будут выводиться alert:
Эта строчка поставит активный класс только выбранным radio, но выбранным может быть только 1
Подскажите пожалуйста, как в шестом примере "Показать контент по отмеченному Radio" сделать вывод не одного блока с текстом а например двух в разных местах? Например сами инпуты лежат где ни будь посередине страницы, а при выборе одного из них должен появится контент вверху страницы и снизу, одновременно в двух местах. Пытался сделать вот так, но не выходит почему то: