2010-08-13 28 views

Respuesta

24

¿Qué pasa algo como esto? (Usando jQuery):

$('input:radio').each(function() { 
    if($(this).is(':checked')) { 
    // You have a checked radio button here... 
    } 
    else { 
    // Or an unchecked one here... 
    } 
}); 

También puede recorrer todos los botones de radio controladas como esta, si se prefiere:

$('input:radio:checked').each(function() { 
    // Iterate through all checked radio buttons 
}); 
2

no puedo estar muy seguro de lo que quieres decir, pero si quieres hacer algo para todos los botones de radio en una página que puede hacer esto:

$("input:radio").each(function(){ 
    //do something here 
}); 
+1

El selector "radio" no devolverá nada. No hay ningún elemento (etiqueta) llamado "radio" en HTML. Es Topera

+0

$ (': radio') es equivalente a $ ('[type = radio]'). http://api.jquery.com/radio-selector/ –

+0

@Dumb Guy: Creo que @Topera se estaba refiriendo a una edición anterior, que fue corregida por @Razor Storm –

6

... en caso de que alguien quiere hacer esto sin jQuery (ya era parte de la pregunta):

No estoy seguro de lo que quiere decir sin un formulario. Si se refiere a que no quiere pass the form element to a javascript function, podría hacerlo de esta manera:

for (var i = 0; i < document.form_name.radio_name.length; i++) { 
    if (document.form_name.radio_name[i].checked) { 
     // ... 
    } 
} 

Si se refiere a una forma sin que en ningún nodo tiene forma, se puede envolver en un lapso (o un div) y use un código como este:

var span = document.getElementById("span_id"); 
var inputs = span.getElementsByTagName("input"); 
for (var i = 0; i < inputs.length; ++i) { 
    if (inputs[i].checked) { 
     // ... 
    } 
} 
Cuestiones relacionadas