2010-05-17 3 views

risposta

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

HTH.

+3

'#table> tr' soffocherà su alcuni browser (Chrome/Firefox) che, come per aggiungere i propri' elementi tbody' , mentre '#table tr' non lo farà. – karim79

+0

@ karim79 - modificato – Sunny

+0

È anche possibile utilizzare il selettore ': radio' (http://api.jquery.com/radio-selector/) – Mottie

3

Vuoi elaborare ogni pulsante o hai solo bisogno quelli controllato? In quest'ultimo caso, è abbastanza facile:

$('table input:radio:checked') 

Riferimento: :radio, :checked

+0

+1. La ricerca di Afaik jQuery va da destra a sinistra, quindi l'intero 'thead tr td' non è necessario se l'unica condizione è che devono trovarsi in una tabella. E ': radio' e': checked' sono i selettori più 'eleganti' in questo caso. – Alec

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

Ci sono molti modi per farlo, ad esempio, utilizzando .each e il metodo .is attraversamento:

$("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

Fornirò +1 se puoi dirmi se è abbastanza sicuro che tutti i browser (supportati da jQuery) inseriranno in modo affidabile un '' mancante. – user113716

+1

@patrick - No, non è così. Il che significa che il mio selettore è rotto un po 'di tempo. Il che significa che modificherò questa risposta ora. Dannazione, ma grazie, dovrei prestare più attenzione alle mie risposte in futuro :) – karim79

+0

Grazie per la risposta. +1 per risposta corretta. – 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

Per eseguire un ciclo attraverso tutte le radio controllata pulsanti di opzione, si può anche fare questo:

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

soluzione perfetta per me. Grazie :) –