Ответы:
С помощью селектора атрибутов вы можете выбрать элемент ввода с соответствующим значением. Затем вы должны установить атрибут явно, используя .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>.
Входные данные и параметры, имеющие значение, совпадающее с одним из элементов массива, будут проверены или выбраны, в то время как входные значения и параметры, которые не соответствуют ни одному из элементов массива, не будут выбраны или не выбраны.
Скрипка, демонстрирующая эту работу: 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])