Почему я борюсь с этим?
У меня есть значение: 5
Как проверить переключатель «mygroup» группы со значением 5?
$("input[name=mygroup]").val(5); // doesn't work?
С помощью селектора атрибутов вы можете выбрать элемент ввода с соответствующим значением. Затем вы должны установить атрибут явно, используя .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» будут установлены в значение.
Вот документ JQuery, который объясняет, как это работает: http://api.jquery.com/val/#val-value
А
.val([...])
также работает с элементами форм , как<input type="checkbox">
,<input type="radio">
и<option>
S внутри<select>
.Скрипка, демонстрирующая эту работу: https://jsfiddle.net/92nekvp3/
источник
Попробуй это:
JS Fiddle demo .
источник
источник
При изменении значения атрибута, как указано выше,
change
событие не запускается, поэтому при необходимости по каким-либо причинам вы можете вызвать его такисточник
$("input[name='RadioTest'][value='2']").prop('checked', true);
JS Fiddle Demo
источник
Или вы можете просто написать атрибут value:
Это работает для меня.
источник
источник
Чистая версия JavaScript:
источник
источник