Javascript 从选中的复选框获取多个值

Javascript 从选中的复选框获取多个值,javascript,Javascript,我想知道是否有办法获得选中复选框的值,然后在DeleteObject函数中使用filter函数中的值 <div style="text-align:center" class="list"> <small>Walls:</small><input id="deleteCheckbox" type="checkbox" value="Wall"> <small>Doors:</small><input id="d

我想知道是否有办法获得选中复选框的值,然后在DeleteObject函数中使用filter函数中的值

<div style="text-align:center" class="list">
  <small>Walls:</small><input id="deleteCheckbox" type="checkbox" value="Wall">
  <small>Doors:</small><input id="deleteCheckbox" type="checkbox" value="Door">
  <small>Traps:</small><input id="deleteCheckbox" type="checkbox" value="SlowTrap"><br>
  <small>Mines:</small><input id="deleteCheckbox" type="checkbox" value="GoldMine">
</div>
函数getItemsToDelete{ //获取所有选定元素的节点列表, //将其转换为数组并返回 //值的数组。 返回数组.from document.queryselectoral '输入[名称=删除复选框]:选中' .map item=>item.value; } console.loggetItemsToDelete; 墙 门 陷阱 矿山
如评论中所述,id应该是唯一的。要获取选中复选框的值,请将更改事件添加到带有类型复选框的输入中,然后使用选中复选框获取输入

document.queryselectoral'input[type=checkbox]' .forEachinput=>{ input.addEventListener'change',函数{ const values=[…document.querySelectorAll'input:checked'].mapinput=>input.value; console.logvalues; }; }; 墙壁: 门: 陷阱: 矿山:
为每个复选框添加唯一的名称或ID,并将其分配给侦听器,以便在JS代码中或直接在HTML中单击事件。然后在JS中,使用document.getElementById.value引用复选框值。

在一个文档中有多个具有相同ID的元素是无效的HTML。考虑修复同一ID的第一个多个元素无效。您应该改用name属性。cblist=getElementsByName'box-shared-name';一旦您将id=更改为name=,将使您能够循环使用元素。@randomsour尝试为代码添加一些解释。仅仅回答这个问题对任何人都没有帮助。@MaheerAli-是的,我正在输入解释,突然投了反对票。“我不像你们这些人跑得那么快,”他说。我只是想传达你的答案,当你发布时应该有解释。这是一个很好的解决方案+1。
function DeleteObject() {
  var b = Game.currentGame.ui.buildings;
  Object.keys(b).filter(function(e) {

    return CheckBoxValuesHere == b[e].type;

  }).forEach(function(i) {
    Game.currentGame.network.sendRpc({
      name: "DeleteObject",
      uid: b[i].uid
    })
  })
}