Respuestas:
Con la ayuda del selector de atributos , puede seleccionar el elemento de entrada con el valor correspondiente. Luego debe establecer el atributo explícitamente, utilizando .attr
:
var value = 5;
$("input[name=mygroup][value=" + value + "]").attr('checked', 'checked');
Desde jQuery 1.6, también puede usar el .prop
método con un valor booleano (este debería ser el método preferido):
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
Recuerde que primero debe eliminar el atributo marcado de cualquiera de los botones de radio en un grupo de botones de radio, luego podrá agregar la propiedad / atributo marcado a uno de los botones de radio en ese grupo de botones de radio.
Código para eliminar el atributo marcado de todos los botones de radio de un grupo de botones de radio:
$('[name="radioSelectionName"]').removeAttr('checked');
.is
no ayudaría aquí, pero estoy de acuerdo .prop
. No estaba disponible en ese entonces;) Actualizará mi respuesta. ¡Gracias!
.val()
admite la configuración de valores en grupos de radio o casillas de verificación. Esta respuesta funciona técnicamente, pero es indirecta y mucho menos legible / memorable.
Hay una mejor manera de verificar radios y casillas de verificación; tienes que pasar una matriz de valores al método val en lugar de un valor bruto
Nota: Si simplemente pasa el valor por sí mismo (sin estar dentro de una matriz ), eso dará como resultado que todos los valores de "mygroup" se establezcan en el valor.
$("input[name=mygroup]").val([5]);
Aquí está el documento de jQuery que explica cómo funciona: http://api.jquery.com/val/#val-value
Y .val([...])
también trabaja con elementos de formulario como <input type="checkbox">
, <input type="radio">
y <option>
que está dentro de un <select>
.
Las entradas y las opciones que tengan un valor que coincida con uno de los elementos de la matriz serán verificadas o seleccionadas, mientras que las que tengan un valor que no coincida con uno de los elementos de la matriz serán desmarcadas o no seleccionadas
Fiddle que demuestra este funcionamiento: https://jsfiddle.net/92nekvp3/
Prueba esto:
$('input:radio[name="mygroup"][value="5"]').attr('checked',true);
Cuando cambia el valor del atributo como se mencionó anteriormente, el change
evento no se activa, por lo que si es necesario por alguna razón, puede activarlo de esta manera
$('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])