将对象推入其中后,数组为空。jQuery

时间:2018-10-11 11:26:02

标签: jquery arrays object

我想将{ "studentid": achecked[index].value }推入一个数组,但是如果我将其推入数组,我的数组将像这样(2) [{…}, {…}],而不是我的复选框值。

这是我的代码:

 var achecked = $("form input:checkbox:checked");
var values = [];
achecked.each(function (index) {
    var student = { "studentid": achecked[index].value };
    values.push(student);
});
console.log(values);

var postdata = {
    'displayname': $("#displayname").val(),
    'email': $("#email").val(),
    'students': [
    ]
};
postdata.students = values;
<input type="checkbox" name="toevoegen" value="10" />
<button class="btn btn-success" id="aanmaken">Aanmaken</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

有人知道并且可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

似乎正在为我工​​作。不确定HTML的外观如何,但是选择器form input:checkbox:checked将要求所有复选框周围都有一个表格。

$('button').on('click', function(e) {
  e.preventDefault();
  var achecked = $("form input:checkbox:checked");
  var values = [];
  achecked.each(function (index) {
      var student = { "studentid": achecked[index].value };
      values.push(student);
  });
  console.log(values);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" checked value="1" />
<input type="checkbox" checked value="2" />
<input type="checkbox" value="3" />
<input type="checkbox" checked value="4" />
<input type="checkbox" checked value="5" />
<button>Submit</button>
</form>