Ho una tabella HTML con n righe e ogni riga contiene un radiobutton nella riga. Uso di jQuery, Come posso guardare attraverso questi pulsanti di opzione per controllare quale è selezionato?jQuery: loop di tutti i pulsanti di opzione all'interno di una tabella HTML
risposta
$('#table tbody tr input[type=radio]').each(function(){
alert($(this).attr('checked'));
});
HTH.
$('.my-radio-class:checked')
Vuoi elaborare ogni pulsante o hai solo bisogno quelli controllato? In quest'ultimo caso, è abbastanza facile:
$('table input:radio:checked')
+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
$("table tr input[type=radio]:checked");
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
}
});
Fornirò +1 se puoi dirmi se è abbastanza sicuro che tutti i browser (supportati da jQuery) inseriranno in modo affidabile un '
' mancante. – user113716@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
Grazie per la risposta. +1 per risposta corretta. – user113716
var checked = $('#table :radio:checked');
//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();
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)
});
soluzione perfetta per me. Grazie :) –
'#table> tr' soffocherà su alcuni browser (Chrome/Firefox) che, come per aggiungere i propri' elementi tbody' , mentre '#table tr' non lo farà. – karim79
@ karim79 - modificato – Sunny
È anche possibile utilizzare il selettore ': radio' (http://api.jquery.com/radio-selector/) – Mottie