2010-11-09 42 views
20

tengo el código HTML siguiente:JQuery: obtener el valor botón de radio

HTML:

<input type="radio" name="abc" value="0" selected="selected" style="display:none" /> 
<input type="radio" name="abc" value="1" />1+ 
<input type="radio" name="abc" value="2" />2+ 
<input type="radio" name="abc" value="3" />3+ 

jQuery para obtener el botón de opción seleccionado

$('input:radio[name=abc]:checked').val(); 

¿Por qué no el código de trabajo en la carga de la página, ANTES de que un usuario haya seleccionado un botón de radio? Es extraño porque el código anterior funciona DESPUÉS de que un usuario haya seleccionado un botón de opción.

Me parece que he puesto el valor botón de opción por defecto para ser 0, pero si

Significado, si se selecciona el valor del botón de radio, devuelva el valor seleccionado - de lo contrario, devuelve 0 (cuando no hay valor ha sido seleccionado)

+0

¿Tiene el código dentro de '$ (document) ready()'? – mway

+2

@StaceyH Esta es la cuarta vez que hace esta pregunta. Edite una pregunta anterior si necesita aclararla. – lonesomeday

+0

posible duplicado de [JQuery: ¿Cómo determinar si se ha seleccionado un botón de selección?] (Http://stackoverflow.com/questions/4139165/jquery-how-to-determine-if-a-radio-button-has- been-selected) – lonesomeday

Respuesta

8

Radio tiene el atributo checked, no selected

<input type="radio" name="abc" value="0" checked="checked" style="display:none" /> 
<input type="radio" name="abc" value="1" />1+ 
<input type="radio" name="abc" value="2" />2+ 
<input type="radio" name="abc" value="3" />3+ 
23

está utilizando el atributo mal. Para los botones de radio, debe usar el atributo checked y no el atributo selected.

<input type="radio" checked="checked"> 

o simplemente:

<input type="radio" checked> 
+0

¿Qué debo cambiar? – StaceyH

+4

@jnpcl Oh, hombre, eso es malo. Pero gracioso, sin embargo. –

+0

@StaceyH, debe hacer lo que @Sime sugiere, y cambiar 'selected' por' checked'. @jnpcl, quizás un poco demasiado duro; No creo que @StaceyH esté siendo * intencionalmente * obtuso. –

19

Primera corregir el atributo para comprobar y eliminar atributo seleccionado que está mal y luego usar el siguiente código. t obtendrá el valor seleccionado del botón de radio al hacer clic en el botón. ex por la lista

$("#btn").click(function() { 
     $('input[type="radio"]:checked').val(); 
     }); 
Cuestiones relacionadas