¿Por qué estoy luchando con esto?Establecer la radio seleccionada del grupo de radio con un valor
que tienen un valor: 5
¿Cómo verifico el botón de selección de grupo "mygroup" con el valor de 5?
$("input[name=mygroup]").val(5); // doesn't work?
¿Por qué estoy luchando con esto?Establecer la radio seleccionada del grupo de radio con un valor
que tienen un valor: 5
¿Cómo verifico el botón de selección de grupo "mygroup" con el valor de 5?
$("input[name=mygroup]").val(5); // doesn't work?
Con la ayuda del attribute selector puede seleccionar el elemento de entrada con el valor correspondiente. Entonces usted tiene que 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 utilizar el método de .prop
con un valor booleano (esto debe ser el método preferido):
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
Recuerde que primero debe quitar el atributo marcado de cualquiera de los botones de opción debajo de un grupo de botones de radio, solo entonces podrá agregar propiedades/atributos marcados a uno de los botones de opción de ese grupo de botones de opción.
código para eliminar Chequeado Atributo de todos los botones de selección de un grupo de botones de radio -
$('[name="radioSelectionName"]').removeAttr('checked');
' selected' no funciona para los botones de opción. –
@Felix: no, debería haber sido 'verificado', desde que se editó. =) –
@Dave no se olvide de "mygroup" – hunter
$("input[name='mygroup'][value='5']").attr("checked", true);
Hay una mejor manera de comprobar radios y casilla de verificación; usted tiene que pasar una matriz de valores para el método de Val en lugar de un valor bruto
$("input[name=mygroup]").val([5]);
Aquí está el doc 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>
dentro de un <select>
.
Las entradas y las opciones que tienen un valor que coincida con uno de los elementos de la matriz será controlada o seleccionado, mientras que los que tienen un valor que no coincide con uno de los elementos de la matriz será sin marcar o no seleccionada
violín que demuestra este trabajo: https://jsfiddle.net/92nekvp3/
o puede simplemente escribir atributo de valor a la misma:
$(':radio[value=<yourvalue>]').attr('checked',true);
Esto funciona para mí.
Cuando se cambia el valor del atributo como se mencionó anteriormente el evento change
no se activa por lo que si es necesario para algunas razones por las que puede provocar que al igual que
$('input[name=video_radio][value="' + r.data.video_radio + '"]')
.prop('checked', true)
.trigger('change');
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);
}
})
}
¿Puede explicar qué hace su código en su respuesta? Al menos una oración más o menos. Y cómo soluciona la solución. Gracias. – Alex
$("input[name='RadioTest'][value='2']").prop('checked', true);
.prop ('verificado', cierto) es probablemente mejor o .is() – bladefist
@bladefist: '.is' no ayudaría aquí, pero estoy de acuerdo con' .prop'. No estaba disponible en ese momento;) Actualizaré mi respuesta. ¡Gracias! –
Si el valor del botón de opción tiene un decimal, debe poner el valor entre comillas – Robert