首页 > 解决方案 > 我想使用(过滤器)js获得“选中”复选框

问题描述

我想使用(过滤器)获得“选中”复选框

现在我得到了我想添加过滤器方法的所有复选框以仅获取选中的复选框

const infoArr = [];

addARowBtn.addEventListener("click", (e) => {
  let phNumber = document.getElementById("phoneNumber").value;
  let conName = document.getElementById("contactName").value;
  let arrVals = {
    phNumber,
    conName,
    checked: false,
    elementIndex: null,
  };

  infoArr.push(arrVals);  

 // defining checkboxes
  const checkBox = document.querySelectorAll(".checkBox");
  checkBox.forEach((el, i) => {
      el.addEventListener("change", (e) => {
      console.log(infoArr[i].checked);
      infoArr[i].checked = e.target.checked;
      infoArr[i].elementIndex = i;
   
    });
  });
});

标签: javascript

解决方案


只需添加一个 :checked 选择器https://developer.mozilla.org/en-US/docs/Web/CSS/:checked

const infoArr = [];

addARowBtn.addEventListener("click", (e) => {
  let phNumber = document.getElementById("phoneNumber").value;
  let conName = document.getElementById("contactName").value;
  let arrVals = {
    phNumber,
    conName,
    checked: false,
    elementIndex: null,
  };

  infoArr.push(arrVals);  

 // defining checkboxes
  const checkBox = document.querySelectorAll(".checkBox:checked");
  checkBox.forEach((el, i) => {
      el.addEventListener("change", (e) => {
      console.log(infoArr[i].checked);
      infoArr[i].checked = e.target.checked;
      infoArr[i].elementIndex = i;
   
    });
  });
});


推荐阅读