Javascript 如何获取所有复选框

Javascript 如何获取所有复选框,javascript,html,Javascript,Html,我有一组同名的输入复选框 我想确定使用javascript检查了哪些复选框,我如何才能做到这一点? 我只知道如何获取所有复选框,如下所示: var checkboxes = document.getElementsByName('mycheckboxes'); 一个简单的for循环,用于测试checked属性,并将选中的属性附加到单独的数组中。从那里,如果需要,您可以进一步处理复选框schecked的数组 // Pass the checkbox name to the function fu

我有一组同名的输入复选框 我想确定使用javascript检查了哪些复选框,我如何才能做到这一点? 我只知道如何获取所有复选框,如下所示:

var checkboxes = document.getElementsByName('mycheckboxes');

一个简单的for循环,用于测试
checked
属性,并将选中的属性附加到单独的数组中。从那里,如果需要,您可以进一步处理
复选框schecked
的数组

// Pass the checkbox name to the function
function getCheckedBoxes(chkboxName) {
  var checkboxes = document.getElementsByName(chkboxName);
  var checkboxesChecked = [];
  // loop over them all
  for (var i=0; i<checkboxes.length; i++) {
     // And stick the checked ones onto an array...
     if (checkboxes[i].checked) {
        checkboxesChecked.push(checkboxes[i]);
     }
  }
  // Return the array if it is non-empty, or null
  return checkboxesChecked.length > 0 ? checkboxesChecked : null;
}

// Call as
var checkedBoxes = getCheckedBoxes("mycheckboxes");
//将复选框名称传递给函数
函数GetCheckedBox(chkboxName){
var复选框=document.getElementsByName(chkboxName);
var checkboxesChecked=[];
//把它们都绕过去
对于(变量i=0;i 0?复选框选中:空;
}
//称为
var checkedboxs=getcheckedboxs(“mycheckedboxs”);

在IE9+、Chrome或Firefox中,您可以执行以下操作:

var checkedBoxes = document.querySelectorAll('input[name=mycheckboxes]:checked');
对于简单的两(或一)个班轮,此代码可以是:

checkboxes = document.getElementsByName("NameOfCheckboxes");
selectedCboxes = Array.prototype.slice.call(checkboxes).filter(ch => ch.checked==true);
这里的
Array.prototype.slice.call()
部分将持有该名称的所有复选框的对象节点列表(“nameofcheckbox”)转换为一个新数组,然后在该数组上使用筛选方法。例如,您还可以通过在第2行末尾添加
.map(ch=>ch.value)
来提取复选框的值。
=>是javascript的箭头函数表示法。

获取数组中所有选中的复选框值-一行

const data=[…document.queryselectoral('.inp:checked')].map(e=>e.value);
console.log(数据);

选择1
选择2
选择3

我确实支持这个解决方案。+1对我来说。它是纯JavaScript,可以工作。如何使它成为一个util JS方法,将返回已检查值的数组,如果没有人被检查,则返回null?您不需要“return checkboxesChecked”吗?@jward01如果数组长度为非零或null,则它会有条件地执行此操作。事后来看,4yrs m根据我的经验,我现在可能只返回空数组而不是空数组。如何返回字符串?是的,已经有了,但是所有的都有,解决方案都是使用JQuery的,我需要一个简单的JS解决方案,这就是区别。请看下面的答案。谢谢!