如何将选中的复选框值推入数组?

Hir*_*uri 1 javascript checkbox jquery

我想将选中的复选框值推入数组中,但我遇到了一些问题,因为每次我尝试将其添加到数组中时,它都保持为空,我可能做错了什么,但无法弄清楚是什么。

http://jsfiddle.net/fx7su2rp/689/

HTML:

<input name="checkbox" value="1" type="checkbox" />
<input name="checkbox" value="2" type="checkbox" />
<input name="checkbox" value="3" type="checkbox" />
<input name="checkbox" value="4" type="checkbox" />
<button id="button" type="button">button</button>
Run Code Online (Sandbox Code Playgroud)

jQuery:

$(document).ready(function () {

  var tmp = [];

  $("input").each(function() {
    if ($(this).is(':checked')) {
      var checked = ($(this).val());
      tmp.push(checked);
    }
  });

  $('#button').on('click', function () {
        alert(tmp);
  });

});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

Unk*_*own 5

您没有调用复选框更改事件。用这个:

$("input[name='checkbox']").change(function() {
  var checked = $(this).val();
  if ($(this).is(':checked')) {
    tmp.push(checked);
  } else {
    tmp.splice($.inArray(checked, tmp),1);
  }
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/fx7su2rp/694/