Estoy tratando de pasar los valores de una lista de selección cuando se selecciona una función jquery, así que puedes jugar con los valores seleccionados. A continuación el código no funciona

Quiero ser capaz de utilizar el valor fuera de la casilla de verificación de la función

Así, por ejemplo, si yo tenía otro botón fuera de esa función, se debe ser capaz de leer lo que se almacena en la matriz – El código de abajo no funciona por alguna razón, cualquier ayuda se agradece

jquery

 <script>
    $(document).ready(function(){

    var vals = []
    $('input:checkbox[name="check[]"]').each(function() {
        if (this.checked) {
            vals.push(this.value);
        }
    });

     alert(vals[0]);
    });
    </script>

Código HTML

<form>
<input value="BOOZE" type="checkbox" name="check[]" >PUB, MATES, <br>
<input value="TV"  type="checkbox" name="check[]">BRIBING THE KIDS TO GO BED<br>
<input value="BOOZE" type="checkbox" name="check[]">RAVING TILL THE EARLY HOURS<br>
<input value="PETS"  type="checkbox" name="check[]">PLAYING GRAND THEFT AUTO <br>
<input value="GEEK"  type="checkbox" name="check[]">TWEETING ABOUT SOMETHING <br>
<input value="SPORT"  type="checkbox" name="check[]">GYM<br>
<input value="XMAS"  type="checkbox" name="check[]">SINGING CHRISTMAS SONGS<br>
<input type="checkbox" class="chkNumber" name="check[]">SHARING A DELIGHTFUL BOTTLE 
</form> 
Todo lo que usted ha escrito es bastante fina, pero no puedo entender claramente la pregunta.
Qué se puede esperar vals a cambiar cuando cambian los valores de las casillas de verificación? Si es así, obtener los valores en document.ready es incorrecta. Usted debe obtener al hacer clic en el botón.

OriginalEl autor Hashey100 | 2013-11-11

3 Comentarios

  1. 5

    Usted necesita tener un cambio de controlador de donde usted necesita para filtrar la casilla seleccionada elementos

     var vals = [];
     $(document).ready(function () {
    
         var $checkes = $('input:checkbox[name="check[]"]').change(function () {
             vals = $checkes.filter(':checked').map(function () {
                 return this.value;
             }).get();
    
             alert(JSON.stringify(vals));
         });
     });

    Demo: El violín

    esto es correcto, pero aquí la variable vals no es globel su ámbito de aplicación es de $(‘input:casilla de verificación[nombre=»verificación[]»]’).cambiar(); la función no se puede utilizar los valores para otro evento o función
    Me hizo una variable global y funcionó gracias

    OriginalEl autor Arun P Johny

  2. 3

    Usted puede hacer esto mediante la .mapa() método como:

    var vals = $('input:checkbox[name="check[]"]:checked').map(function () {
        return this.value;
    }).get();
    
    alert(vals[0]);

    Violín Demo

    OriginalEl autor palaѕн

  3. 2

    el código es correcto acaba de poner

    var vals = [];

    fuera de

    $(document).ready();

    como

    <script>
    var vals = [];
    $(document).ready(function(){
    $('input:checkbox[name="check[]"]').each(function() {
        if (this.checked) {
            vals.push(this.value);
        }
    });
    
     alert(vals[0]);
    });
    </script>

    OriginalEl autor Sohil Desai

Dejar respuesta

Please enter your comment!
Please enter your name here