2010-05-17 16 views

Respuesta

7
$('#table tbody tr input[type=radio]').each(function(){ 
alert($(this).attr('checked')); 
}); 

HTH.

+3

'#table> tr' va a ahogarse con ciertos navegadores (Chrome/Firefox) que les gusta añadir sus propios elementos' tbody' , mientras que '#table tr' no lo hará. – karim79

+0

@ karim79 - modificado – Sunny

+0

También podría usar el selector ': radio' (http://api.jquery.com/radio-selector/) – Mottie

3

¿Quieres procesar todos los botones de radio o usted necesita solamente las controladas queridos? En este último caso, es bastante fácil:

$('table input:radio:checked') 

Referencia: :radio, :checked

+0

+1. La búsqueda de Afaik jQuery va de derecha a izquierda, por lo que todo el 'thead tr td' es innecesario si la única condición es que deben estar en una tabla. Y ': radio' y': checked' son los selectores más 'elegantes' en este caso. – Alec

1
$("table tr input[type=radio]:checked"); 
4

Hay muchas maneras de hacerlo, por ejemplo, usando .each y el método .is recorrido:

$("table tbody tr td input[name=something]:radio").each(function() { 
    if($(this).is(":checked")) { 
     $(this).closest("tr").css("border", "1px solid red"); 
    } else { 
     // do something else 
    } 
}); 
+0

Daré +1 si me puede decir si está bastante garantizado que todos los navegadores (compatibles con jQuery) inserten de manera confiable un '' perdido. – user113716

+1

@patrick - No, ese no es el caso. Lo que significa que mi selector está roto algunas veces. Lo que significa que voy a editar esta respuesta ahora. Maldita sea, pero gracias, debería prestar más atención a mis propias respuestas en el futuro :) – karim79

+0

Gracias por la respuesta. +1 para la respuesta corregida. – user113716

1
//get the checked radio input, put more specificity in the selector if needed 
var $checkedRadio = $("input[type=radio]:checked"); 

//if you want the value of the checked radio... 
var checkedRadioVal = $checkedRadio.val(); 
3

para recorrer todos la radio controlada botones de radio, también se puede hacer esto:

$('input:radio:checked').each(function() { 
    //this loops through all checked radio buttons 
    //you can use the radio button using $(this) 
}); 
+0

solución perfecta para mí. Gracias :) –

Cuestiones relacionadas