valor seleccionado saber recorrer radiobutton obtener event esta jquery radio-button

seleccionado - jQuery y grupos de botones de radio



saber si un radiobutton esta seleccionado jquery (3)

Para encontrar todos los grupos de radio:

var radio_groups = {} $(":radio").each(function(){ radio_groups[this.name] = true; })

para encontrar qué grupo de radio ha marcado las casillas de radio y cuál no:

for(group in radio_groups){ if_checked = !!$(":radio[name=''"+group+"'']:checked").length alert(group+(if_checked?'' has checked radios'':'' does not have checked radios'')) }

En jQuery, me gustaría seleccionar todos los grupos de botones de radio donde no hay botones marcados.

O, ¿hay alguna forma en la que pueda seleccionar todos los grupos de botones de opción e iterar a través de los grupos?

Estoy agregando dinámicamente N grupos de botones de radio a una página y no sabré, de antemano, cuáles serán los nombres de los grupos de botones de radio.


Para seleccionar todas las radios por nombre de grupo y obtener solo la lista de nombres diferentes:

function selectRadioByGroupName() { return $.unique($(''input:radio'').map(function(index, element) { return this.name; })); }

Un fragmento de ejemplo:

function selectRadioByGroupName() { return $.unique($(''input:radio'').map(function(index, element) { return this.name; })); } $(function () { selectRadioByGroupName().each(function(index, element) { $(''body'').append($(''<p>First Group name is: '' + element + ''</p>'')); }); });

<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> <form action=""> <p> Q1: </p> <input type="radio" name="gender" value="male"> Male<br> <input type="radio" name="gender" value="female"> Female<br> <input type="radio" name="gender" value="other"> Other <br /> <p> Q2: </p> <input type="radio" name="status" value="male"> Single<br> <input type="radio" name="status" value="female"> Married<br> <input type="radio" name="status" value="other"> Other <br /> <input type="button" name="submit_id" value="Submit" onclick="submitAnswers()"> </form>

Después de obtener los diferentes nombres de grupo es posible completar un ciclo en ellos.


Soporte para múltiples grupos y pre-chequeado.

$(''input'').click(function() { var $t = $(event.target); if ($t.hasClass(''checked'')) $t.removeAttr(''checked''); else $(''input[type="radio"][name="'' + $t.prop(''name'') + ''"]'').not($t).removeClass(''checked''); $t.toggleClass(''checked''); }).filter('':checked'').addClass(''checked'');​

`` `

Prueba: http://jsfiddle.net/abrkn/PGW2Z/