Javascript 如何将多个选中值发送到db并将值附加到每个对象?

Javascript 如何将多个选中值发送到db并将值附加到每个对象?,javascript,node.js,ajax,forms,checkbox,Javascript,Node.js,Ajax,Forms,Checkbox,我有一张带复选框的表格。可以选择一个或多个发送到db 该表格用于登记资产的损失,因此与唯一资产的当前id有关。1:n关系。 因为我需要将当前的_id作为外键发送,所以我将它推送到表单数组上 与formData.push类似{name:'id',value:current_id} 当只选中一个复选框时,此选项可以正常工作。 但当我选中多个选项时,我无法发送到服务器。 我努力解决这个问题。我已经研究过如何使用map,但我不确定如何实现它以向数据库发送正确的数组 非常感谢您的帮助 $'form'.s

我有一张带复选框的表格。可以选择一个或多个发送到db

该表格用于登记资产的损失,因此与唯一资产的当前id有关。1:n关系。 因为我需要将当前的_id作为外键发送,所以我将它推送到表单数组上 与formData.push类似{name:'id',value:current_id}

当只选中一个复选框时,此选项可以正常工作。 但当我选中多个选项时,我无法发送到服务器。 我努力解决这个问题。我已经研究过如何使用map,但我不确定如何实现它以向数据库发送正确的数组

非常感谢您的帮助

$'form'.submitFunction{ e、 防止违约; 让formData=$this.serializeArray; push{name:'id',value:current_id}; }; 美元邮政{ 键入:“POST”, url:“/api”, 数据:formData } //我试过的。。 //对于多个复选框 //这不起作用 //formData.forEachfunction数据{ //push{name:'id',value:current_id}; //美元邮政{ //键入:“POST”, //url:“/api”, //数据:formData // } //} 您必须在复选框名称后使用[]。在PHP代码中,只需var_dump$_POST['damage'];您将获得一个值数组

HTML代码:


我可能应该补充一点,我正在使用node。你知道我能不能用同样的方法吗?我尝试将[]添加到名称中,但仍然不确定如何使用该节点。但无论如何,我会通读这篇文章,可能会对我有所帮助。谢谢,谢谢!这看起来和我试图达到的目标很相似,太棒了。谢谢你的帮助!很乐意帮忙:
<form id="damages">
  <input type="checkbox" name="damage[]" value="loose" checked="checked" />
  <input type="checkbox" name="damage[]" value="broken" />
</form>
$('form').submit(function(e){
  e.preventDefault();
  let formData = $(this).serializeArray();
  var selectedIds = $("input:checkbox:checked").map(function () {
    return $(this).val();
  }).get();

  formData.push({name: 'id', value: current_id});
  formData.push({name: 'selectedIds', value: selectedIds});
  $.post({
      type: 'POST',
      url: '/api',
      data: formData
  });
});