Jquery将单独的数组推送到一个数组。

时间:2018-01-31 22:39:46

标签: javascript jquery arrays

我有这段代码,它会检查已经检查过的每个复选框。我试着计算复选框检查的次数。

如果选中框1和2,它应该将值解析为一个数组,如[“1”,“2”]。但相反,它会像[“1”],[“2”]一样对数组进行计数。即使这样尝试将计数推入数组也不起作用。我从Chrome开发者工具获得的这些信息。

我试图将它推送到数组:

 var count = document.querySelectorAll('input[name="check"]:checked').length;


 var arr = [];

 arr.push(count);

如果你们看到我的代码,也许更容易理解。好了!

  

如果选中复选框,则此功能会检查复选框中的更改   或不。

function chBox()
{
    $("#allCheckboxes").on("change", "input[name=check]", function() {
        var array;
        if ($(this).is(':checked')) {

            var count = document.querySelectorAll('input[name="check"]:checked').length;


            var arr = [];

            arr.push(count);



            document.getElementById("toppings").innerHTML = count;
            console.log(arr);
            //alert($(this).val());
            // alert(document.querySelectorAll('input[name="check"]:checked').length);
            //document.getElementById("pieCrust").innerHTML = $(this).val();
        }
        else {


            alert("not checked");
        }
    });

}
  

这些输入名称属性为“check”,如果我需要的话   推送一个数组而不是多个数组。

   <!--Pepperoni-->
                        <input class="form-check-input " name="check" type="checkbox" id="Pepperoni" value="Pepperoni">
                        <label class="form-check-label " for="Pepperoni">Pepperoni</label>

                        <!--Sausage-->
                        <input class="form-check-input chk" name="check" type="checkbox" id="Sausage" value="Sausage">
                        <label class="form-check-label" for="Sausage">Sausage</label>

1 个答案:

答案 0 :(得分:0)

您需要在arr

之外声明数组$("#allCheckboxes").on(...)

您可能会对额外的数组array感到困惑,您的代码中未使用此额外变量。

function chBox() {
  $("#allCheckboxes").on("change", "input[name=check]", function() {
    var arr = []; // This is the place where you to declare your array.
    if ($(this).is(':checked')) {      
      var count = document.querySelectorAll('input[name="check"]:checked').length;

      arr.push(count);

      document.getElementById("toppings").innerHTML = count;
      console.log(arr);
    } else {
      alert("not checked");
    }
  });
}