¿Cómo comprobar un botón de radio con jQuery?
Intento marcar un botón de opción con jQuery. Aquí está mi código:
<form>
<div id='type'>
<input type='radio' id='radio_1' name='type' value='1' />
<input type='radio' id='radio_2' name='type' value='2' />
<input type='radio' id='radio_3' name='type' value='3' />
</div>
</form>
Y el JavaScript:
jQuery("#radio_1").attr('checked', true);
No funciona:
jQuery("input[value='1']").attr('checked', true);
No funciona:
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);
No funciona:
¿Tienes otra idea? ¿Qué me estoy perdiendo?
Para versiones de jQuery iguales o superiores (>=) 1.6, utilice:
$("#radio_1").prop("checked", true);
Para versiones anteriores a (<) 1.6, utilice:
$("#radio_1").attr('checked', 'checked');
Consejo: Es posible que también quieras llamar click()
o change()
usando el botón de radio después. Ver comentarios para más información.
Prueba esto.
En este ejemplo, lo apunto con su nombre y valor de entrada.
$("input[name=background][value='some value']").prop("checked",true);
Es bueno saberlo: en caso de un valor de varias palabras, también funcionará debido a los apóstrofes.
Opción breve y fácil de leer:
$("#radio_1").is(":checked")
Devuelve true
o false
, por lo que puedes usarlo en la declaración "si".
Una función más prop() que se agrega en jQuery 1.6, que tiene el mismo propósito.
$("#radio_1").prop("checked", true);
Prueba esto.
Para marcar el botón de opción usando Valor , use esto.
$('input[name=type][value=2]').attr('checked', true);
O
$('input[name=type][value=2]').attr('checked', 'checked');
O
$('input[name=type][value=2]').prop('checked', 'checked');
Para verificar el botón de opción usando ID , use esto.
$('#radio_1').attr('checked','checked');
O
$('#radio_1').prop('checked','checked');