jQuery obtiene el valor del botón de opción seleccionado

La statement del problema es simple. Necesito ver si el usuario ha seleccionado un botón de radio de un grupo de radio. Cada botón de radio en el grupo comparte la misma identificación.

El problema es que no tengo control sobre cómo se genera el formulario. Aquí está el código de muestra de cómo se ve un código de control de botón de radio:

 

Además de esto, cuando se selecciona un botón de opción, no agrega un atributo “marcado” al control simplemente con el texto marcado (supongo que solo se verificó la propiedad sin un valor) . A continuación se muestra cómo se ve un control de radio seleccionado

  

¿Alguien puede ayudarme con el código de jQuery que puede ayudarme a obtener el valor del botón de opción verificado?

Solo usa.

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

Tan fácil que es.

Primero, no puedes tener múltiples elementos con la misma identificación. Sé que dijiste que no puedes controlar cómo se crea el formulario, pero … intentas eliminar de algún modo todos los identificadores de las radios o hacer que sean únicos.

Para obtener el valor del botón de :checked seleccionado, selecciónelo por nombre con el filtro :checked .

 var selectedVal = ""; var selected = $("input[type='radio'][name='s_2_1_6_0']:checked"); if (selected.length > 0) { selectedVal = selected.val(); } 

EDITAR

Entonces no tienes control sobre los nombres. En ese caso, diría que coloque estos botones de radio dentro de un div, llamado, por ejemplo, radioDiv , luego modifique ligeramente su selector:

 var selectedVal = ""; var selected = $("#radioDiv input[type='radio']:checked"); if (selected.length > 0) { selectedVal = selected.val(); } 

La forma más simple de obtener el valor del botón de opción seleccionado es la siguiente:

 $("input[name='optradio']:checked").val(); 

No se debe usar espacio entre los selectores.

 $("#radioID") // select the radio by its id .change(function(){ // bind a function to the change event if( $(this).is(":checked") ){ // check if the radio is checked var val = $(this).val(); // retrieve the value } }); 

Asegúrese de ajustar esto en la función lista para DOM ( $(function(){...}); o $(document).ready(function(){...}); ).

  1. En su código, jQuery solo busca la primera instancia de una entrada con el nombre q12_3, que en este caso tiene un valor de 1. Desea una entrada con el nombre q12_3 que es :checked .
 $(function(){ $("#submit").click(function() { alert($("input[name=q12_3]:checked").val()); }); }); 
  1. Tenga en cuenta que el código anterior no es lo mismo que usar .is(":checked") . La función jQuery’s is() devuelve un valor booleano (verdadero o falso) y no un elemento.
 1
2
3

Esto volverá, verificó el valor del botón de opción.

 if($("input[type='radio'].radioBtnClass").is(':checked')) { var card_type = $("input[type='radio'].radioBtnClass:checked").val(); alert(card_type); } 

Para obtener el valor del Botón de radio seleccionado, use RadioButtonName y el ID del formulario que contiene RadioButton.

 $('input[name=radioName]:checked', '#myForm').val() 

O solo

 $('form input[type=radio]:checked').val(); 
  $("input[name='gender']:checked").val() 

para atributos nesteds

 $("input[name='lead[gender]']:checked").val() 

No te olvides de llaves individuales para el nombre

Obtener todas las radios:

 var radios = $("input[type='radio']"); 

Filtra para obtener el que está marcado

 radios.filter(":checked"); 

O

Otra forma en que puede encontrar el valor del botón de opción

 var RadeoButtonStatusCheck = $('form input[type=radio]:checked').val(); 

Mira el ejemplo, funciona bien

 
Metal purity :
 var check_value = $('.gold_color:checked').val(); 
 if (!$("#InvCopyRadio").prop("checked") && $("#InvCopyRadio").prop("checked")) // do something 

Vea a continuación el ejemplo de trabajo con una colección de grupos de radio asociados con diferentes secciones. Su esquema de nombres es importante, pero lo ideal es que intente utilizar un esquema de nombres consistente para las entradas de todos modos (especialmente cuando están en secciones como aquí).

 $('#submit').click(function(){ var section = $('input:radio[name="sec_num"]:checked').val(); var question = $('input:radio[name="qst_num"]:checked').val(); var selectedVal = checkVal(section, question); $('#show_val_div').text(selectedVal); $('#show_val_div').show(); }); function checkVal(section, question) { var value = $('input:radio[name="sec'+section+'_r'+question+'"]:checked').val() || "Selection Not Made"; return value; } 
 * { margin: 0; } div { margin-bottom: 20px; padding: 10px; } h5, label { display: inline-block; } .small { font-size: 12px; } .hide { display: none; } #formDiv { padding: 10px; border: 1px solid black; } .center { display:block; margin: 0 auto; text-align:center; } 
  

Section 1

First question text

Second question text

Third Question

Section 2

First question text

Second question text

Third Question

Section 3

First question text

Second question text

Third Question

Choose Section Number



Choose Question Number







Solo por nombre

 $(function () { $('input[name="EventType"]:radio').change(function () { alert($("input[name='EventType']:checked").val()); }); }); 

La mejor manera de explicar este tema simple es dando un ejemplo simple y un enlace de referencia:

En el siguiente ejemplo, tenemos dos botones de opción. Si el usuario selecciona un botón de opción, mostraremos el valor del botón de opción seleccionado en un cuadro de alerta.

Html:

 
Male
Female
others

jquery: –

  $(document).ready(function(){ $('#Demo input').on('change', function() { alert($('input[name="Gender"]:checked', '#Demo').val()); }); }); 

Prueba esto con un ejemplo

  
1
2
 
Company Suscription: Customer Subscription: Manully Set: NO Subscription:

y maneje jquery para alerta en cuanto al valor establecido / Cambiado a través de div id:

 $("#subscriptions input") // select the radio by its id .on('change', function(){ // bind a function to the change event alert($('input[name="subsrad"]:checked', '#subscriptions').val()); }); 

es demasiado fácil….:-}

No soy una persona de JavaScript, pero encontré aquí para buscar este problema. Para quién googlearlo y encontrarlo aquí, espero que esto ayude a algunos. Entonces, como en cuestión si tenemos una lista de botones de radio:

 

Puedo encontrar cuál seleccioné con este selector:

 $('.list input[type="radio"]:checked:first').val(); 

Incluso si no hay ningún elemento seleccionado, todavía no recibo un error indefinido. Por lo tanto, no es necesario escribir statement extra if antes de tomar el valor del elemento.

Aquí hay un ejemplo jsfiddle muy básico.

Aquí hay 2 botones de radio llamados rd1 y Radio1

   

La forma más sencilla de verificar qué botón de opción está marcado es marcar la propiedad (“: marcado”)

 if ($("#rd1").is(":checked")) { alert("rd1 checked"); } else { alert("rd1 not checked"); } 

Otra forma fácil de entender … Está funcionando:

Código HTML:

  Hold Cancel Suspend 

Código de Jquery:

 $(document).on("click", ".active_status", function () { var a = $('input[name=active_status]:checked').val(); (OR) var a = $('.active_status:checked').val(); alert(a); }); 
   $(function() { $("#submit").click(function() { alert($('input[name=s_2_1_6_0]:checked').val()); }); });` 
 HTML Code    Javascript Code $("input[type='radio'].check").click(function() { if($(this).is(':checked')) { if ($(this).val() == 1) { $("#submit").val("Verified & Save"); }else{ $("#submit").val("Save"); } } }); 

esto será fácil con onChange ()

   1 
2
3