Obtener el valor del radioButton seleccionado en Jquery

Si tienes un formulario e incluye radiobutton, puedes obtener el valor del elemento seleccionado de la siguiente manera:

 $("input[@name='nombre del grupo']:checked").val(); 

Actualización: La nueva sintaxis es la siguiente: (Gracias Claudio y JCesar)

$("input[name='nombre del grupo']:checked").val(); 

Recursos:
JQuery : Web, tutorial y documentación

Anuncios
46 comentarios
  1. cosmo79 dijo:

    Parece algo muy simple, pero llevaba un rato buscando y no había encontrado como hacerlo.. MUCHAS GRACIAS!!!

  2. Lenny dijo:

    Para eso estamos 😉

  3. Javeador dijo:

    Gracias me salvaste de una

  4. Maximiliano dijo:

    Muchas gracias!! sencillo pero no se me habia ocurrido.

  5. Patricio B dijo:

    Hago lo mismo, pero me toma un checkbox también, y yo sólo quiero unos radiobutton, el checkbox tiene otro nombre.

    Qué podrá pasar?

  6. Claudio dijo:

    Hola, utilicé el script, pero al igual que a Patricio B me retornaba el valor del primer radio que encontraba, por más de que éste tuviera otro nombre.

    Lo pude solucionar quitando la arroba:
    $(“input[name=’nombre del grupo’]:checked”).val();

  7. aumakua dijo:

    genial!

  8. jl dijo:

    OJO
    cuando uno pone varios radios agarra solo el primer radio,
    me pasaba lo mismo q patricio y claudio
    gracias

  9. carolina dijo:

    Gracias funciona perfecto =)

  10. jigsaw dijo:

    excelente!!
    muy simple y efectivo , y al igual que claudio, el query sirve cuando le quitamos el ‘@’.
    gracias

  11. Tilson dijo:

    genial amigo, Gracias

  12. steven dijo:

    Gracias amigo, llevaba mucho rato buscandolo

  13. Phonck dijo:

    Excelente!!! que grande sos

  14. gutsavo dijo:

    me salvaste dia MIL GRACIAS

  15. jose dijo:

    gracias por el Dato, lo estava buscando.

  16. V_OMAR dijo:

    A mi funciona asi, agregandole :radio al input
    $(“input:radio[name=’nombre del grupo’]:checked”).val();

  17. yoniti7784 dijo:

    Espero me puedan ayudar…
    tengo un radio con el name
    while($reg=mysql_fetch_array($respuesta)) {
    echo “”
    }

    como son varios registros solo cuando lo envio en el submit aquí tengo un script
    este script llama a otra pagina php.
    function FormularioUsuarios(){
    $.post(‘Conexiones/pagina1.php’,
    {info: form_seleccion.nombre.value},
    function(output){
    $(‘.calendario’).html(output).show(“slow”);
    });
    }

    al momento de capturarlo en ‘pagina1.php’ lo ago asi:

    $captura= mysql_real_escape_string($_POST[‘info’]);

    y me marca error de que no se pudo mostrar.
    el problema ya se cual es, lo que no se es la solución.
    Lo he conseguido enviar quitando el ‘input>hidden’ del ‘WHILE’ y poniendolo fuera.
    al parecer no puedo enviar más de un ‘name’ por este script.

    espero me haya explicado bien, sin mas que decir gracias.

  18. Víctor dijo:

    No se si te he entendido bien. Si deseas enviar un formulario, jquery proporciona plugin que permiten realizar esto sin complicaciones para después procesarlo en PHP. Este plugin lo he empleado más de una vez en algún proyecto: http://jquery.malsup.com/form/

    Saludos

  19. Juan Carlos Mosqueda dijo:

    Se podria usar tambien el serialize();

  20. iberia dijo:

    Solucion corta y elegante me gusta, gracias!

  21. Ucraman dijo:

    Grosooooooooo

  22. jvpro dijo:

    1000 Gracias

  23. jcesar dijo:

    podias actualizar el post para quitar la @, que ya no se necesita y además da problemas

    sería así, como ya te han dicho antes.

    $(“input[name=’nombre del grupo’]:checked”).val();

    saludos

  24. Víctor dijo:

    Hecho. Gracias JCesar

  25. joao erasmo dijo:

    v_omar me salvaste la vida XD gracias 🙂

  26. nestor dijo:

    me salvaste todo el dia probando senetencias!! funciona de diez gracias

  27. davidblanco dijo:

    Gracias desde Vigo España por me a ayudado mucho para un proyecto.

  28. Kehos dijo:

    Muchísimas gracias, había encontrado otras soluciones pero sin duda esta es la mejor de todas! Muy útil 😉

  29. Ana Patitú dijo:

    Muchas Gracias!! me salvaste y me enseñaste 😉 !!

  30. david dijo:

    Gracias me haz salvado!!!!!

  31. Viviana dijo:

    Sin el @ y con :radio no me funciona

  32. Víctor dijo:

    Que versión de jquery usas?

  33. Gonzalo R. dijo:

    Muchas Gracias …Bendiciones..

  34. Marcelo dijo:

    eres un genio haz salvado mi vida 🙂

  35. david dijo:

    Graciasss

  36. SilverWolf dijo:

    $(document).ready(function()
    {
    /*Cogemos el valor con la propiedad .attr() y leemos el atributo value del elemento selector
    En mi caso cojo los radio-button con la subclase :nth-child(n) donde n es el numero del elemento a cojer
    Lo malo de hacerlo con nth-child es que hay que tener en cuenta el resto de elementos, por ejemplo de
    en caso de poner labels o algun otro elemento es posible que el numero del hijo cambie*/

    alert($(“#sistema:nth-child(2)”).attr(“value”));
    //2,3,4
    });

    Que sistema prefieres?
    Android
    Iphone
    Windows Phone

    PD: Pienso que con algo como $(“input[type=’radio’]”).attr(“checked”); tambien se podria llegar a coger los valores pero eso es ir probando xDD

  37. SilverWolf dijo:

    Añado tambien que con IF se puede usar para saber si esta o no checked de la siguiente forma

    if( $(“#sistema:nth-child(2)”).attr(“checked”) == true)
    {
    //Codigo..
    }

  38. SilverWolf dijo:

    Rectifico lo del IF, seria asi:

    var marcado = $(“#sistema:nth-child(2)”).attr(“checked”);

    if(marcado == “checked”)
    {
    alert(“hola”);
    }

  39. Paola dijo:

    Tengo que trabajar con muchos radiobutton y se mehace compliado crear una funcion para cada unos. Lo que quiero hacer es q dependirndo el valor, tiene un estilo. y no puede hacer que esta linea de código que desarrollaste se adapte!!!¿que puedo estar haciendo mal?
    a la funcion la llamo:

    onClick=”javascript: TBCCheckBox0FC(this.id);”

    function TBCCheckBox0FC(identif) {
    var ent = identif;
    var nombre = document.getElementById(ent + “_” + “0”).getAttribute(“name”);
    var i = 0;
    var largo = document.getElementsByName(nombre).length;
    for (i ; i < largo; i++) {
    document.getElementById(ent + '_' + i).style.background = 'transparent';
    }
    var valor = $("input[name=nombre]:checked").val();
    var indice = eval($("input[name=nombre]:checked")).attr('id');
    if (valor == 'False') {
    document.getElementById(indice).style.background = 'yellow'
    }
    }

    espero puedas darme una mano!!! gracias!!!!!!!!!!

  40. Lizethe dijo:

    alguien puede ayudarme??? tengo varios checkboxs q son generados de forma automatica por la relacion de n-n de la base de datos en symfony, ya intente la forma q proponen en el apartado anterior, pero no funciona (uso estos dos: jquery-1.9.0.min.js jquery-ui-1.10.1)

    funciona asi, pero para todos los checkboxs
    $(“input[type=checkbox][checked]”).each(function(){
    alert($(this).val());
    });

    pero lo q yo quiero es manejar los checkboxs por separado…

  41. Víctor dijo:

    Puedes asociar a los checkbox un evento. Cuando se produzca este evento, como argumento de la función que maneja ese evento se obtiene el elemento que lo ha generado.

  42. Lizethe dijo:

    gracias por la ayuda, lo resolvi con:
    checkbox.attr(‘name’) que me devolvio el nombre del checkbox de la siguiente forma:
    “nombreFormulario[nombreCheckbox][]”
    y con eso logre manejar los checkbox por separado

  43. Muchas gracias, me has sacado de un apuro.

  44. Aixa dijo:

    Gracias 🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: