Cómo bucle a través de un grupo de botones de radio sin un formulario?

¿Cómo puedo bucle a través de un grupo de botones de radio sin un formulario en JavaScript o jQuery?

InformationsquelleAutor Bart | 2010-08-13

3 Kommentare

  1. 25

    Lo que acerca de algo como esto? (con jQuery):

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

    También puedes hacer un bucle a través de todos comprobado botones de radio como este, si se prefiere:

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

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

    No estoy seguro de lo que quieres decir sin un formulario. Si te refieres a que no quieres pase el elemento de formulario a una función de javascript, se podría hacer así:

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

    Si quieres decir sin un formulario como en los que no tienen forma de nodo, usted podría ajustar en un lapso de tiempo (o un div) y utilizar 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) {
            //...
        }
    }
  3. 3

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

    $("input:radio").each(function(){
       //do something here
    });
    • El selector de «radio» devolverá nada. No hay ningún elemento (etiqueta) llamado «radio» en HTML. Es <input type=»radio»>
    • $(‘:radio’) es equivalente a $(‘[tipo=radio]’). api.jquery.com/radio-selector
    • Chico: creo que @Topera se refiere a la edición anterior, que fue fijado por @Razor Tormenta
    • Tio tonto, sí, he cometido un error anterior y corregido después de darse cuenta.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea