javascript - 获取复选框选定的值

标签 javascript checkbox checked

我有多个由 php 代码生成的复选框,HTML 如下所示:

<input name="checkbox" id="checkbox" value="firstBox" type="checkbox">
<input name="checkbox" id="checkbox" value="secondBox" type="checkbox">

但是,当我尝试使用以下脚本获取用户选择的值时

document.getElementById('checkbox').value

即使选择了第二个框,我也总是得到“第一个框”。请帮我解决这个问题

最佳答案

ID 是特定元素的标识符。因此,它们必须是唯一的。

另一种方法是设置相同的名称并使用函数querySelectorAll来获取选中的复选框。

使用此选择器获取选中的选项: [name="checkbox"]:checked

document.querySelector('#check').addEventListener('click', function() {
  var checked = Array.from(document.querySelectorAll('[name="checkbox"]:checked')); 
  checked.forEach(function(e) {
    console.log(e.value);  
  });  
});
<input name="checkbox" name="checkbox" value="firstBox" type="checkbox">
<input name="checkbox" name="checkbox" value="secondBox" type="checkbox">

<button id='check'>Check</button>

关于javascript - 获取复选框选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52908338/

相关文章:

javascript - CKEditor——如何添加特定于文档的 CSS 样式

javascript - 函数在循环后返回对象中的未定义值

jquery - AJAX 响应后如何保持复选框状态?

javascript - DOM 删除复选框 javascript

jquery 复选框未选中

javascript - Jquery 无法访问循环外的数组

javascript - 如何包含从 Nuget 安装的 JavaScript 包?

java - 让复选框记住其状态的最佳方法是什么?

javascript - 标签 -> 复选框文本

javascript - 启用/禁用带有复选框的输入字段(javascript)