如何将多个复选框值传递给数组

Has*_*100 4 html checkbox jquery

我正在尝试将选中的值从复选框列表传递到jquery函数,因此我可以使用所选值.下面的代码不起作用

我希望能够使用复选框功能之外的值

因此,例如,如果我在该函数外面有另一个按钮,它应该能够读取存储在数组中的内容 - 下面的代码由于某种原因不起作用,任何帮助将不胜感激

jQuery的

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

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

     alert(vals[0]);
    });
    </script>
Run Code Online (Sandbox Code Playgroud)

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> 
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 5

您需要有一个更改处理程序,您需要在其中筛选选中的复选框元素

 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));
     });
 });
Run Code Online (Sandbox Code Playgroud)

演示:小提琴