Відповіді:
За допомогою селектора атрибутів можна вибрати вхідний елемент із відповідним значенням. Тоді вам слід встановити атрибут явно, використовуючи .attr:
var value = 5;
$("input[name=mygroup][value=" + value + "]").attr('checked', 'checked');
Оскільки jQuery 1.6, ви також можете використовувати .propметод з булевим значенням (це має бути кращим методом):
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
Пам'ятайте, що спочатку потрібно видалити перевірений атрибут з будь-якої з кнопок радіо в одній групі радіо кнопок, лише тоді ви зможете додати перевірену властивість / атрибут до однієї з перемикачів цієї групи радіо кнопок.
Код для видалення перевіреного атрибута з усіх радіо кнопок однієї групи кнопок -
$('[name="radioSelectionName"]').removeAttr('checked');
.isне допомогло б тут, але я згоден .prop. Тоді він був недоступний;) Оновить мою відповідь. Дякую!
.val()підтримує встановлення значень для радіо або груп прапорців. Ця відповідь технічно працює, але є крутою та набагато менш читаною / запам'ятовується.
Є кращий спосіб перевірки радіостанцій та прапорця; ви повинні передати масив значень методу val замість необробленого значення
Примітка. Якщо ви просто передасте значення самостійно (не знаходячись у масиві ), це призведе до того, що всі значення "mygroup" будуть встановлені на значення.
$("input[name=mygroup]").val([5]);
Ось документ jQuery, який пояснює, як це працює: http://api.jquery.com/val/#val-value
А .val([...])також працює з елементами форм , як <input type="checkbox">, <input type="radio">і <option>S всередині <select>.
Входи та параметри, що мають значення, що відповідає одному з елементів масиву, будуть перевірені або вибрані, тоді як ті, які мають значення, що не відповідають одному з елементів масиву, будуть невірно перевірені або не вибрані
Fiddle, що демонструє це: https://jsfiddle.net/92nekvp3/
Якщо ви змінюєте значення атрибуту, як згадане вище, changeподія не спрацьовує, тому при необхідності з якихось причин ви можете запустити його так
$('input[name=video_radio][value="' + r.data.video_radio + '"]')
.prop('checked', true)
.trigger('change');
$("input[name='RadioTest'][value='2']").prop('checked', true);
var key = "Name_radio";
var val = "value_radio";
var rdo = $('*[name="' + key + '"]');
if (rdo.attr('type') == "radio") {
$.each(rdo, function (keyT, valT){
if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null))
{
$('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true);
}
})
}
$('input[name="mygroup"]').val([5])