Javascript 单击保存的复选框状态

Javascript 单击保存的复选框状态,javascript,Javascript,下面的操作用于保存我的复选框的状态,然后在我的加载函数中调用时将保存的项目设置回选中状态;但是我需要做的不是仅仅设置为选中,我需要实际拥有它们。在我的加载函数中单击“通过”,否则数据不会被提供 function checkSaver() { user = JSON.parse(localStorage.getItem(user)); var inputs = document.querySelectorAll('input[type="checkbox"]');

下面的操作用于保存我的复选框的状态,然后在我的加载函数中调用时将保存的项目设置回选中状态;但是我需要做的不是仅仅设置为选中,我需要实际拥有它们。在我的加载函数中单击“通过”,否则数据不会被提供

  function checkSaver() { 
      user = JSON.parse(localStorage.getItem(user));

      var inputs = document.querySelectorAll('input[type="checkbox"]');
      user.userAchkData = [];

      inputs.forEach(function(input){
        user.userAchkData.push({ id: input.id, checked: input.checked });
      });

      localStorage.setItem(username, JSON.stringify(user));
      console.log(JSON.stringify(user));

    }

您可以检查它们是否被选中,然后以编程方式触发单击:

if (input.id) { 
   // I need to click through the found checked here
   const element = document.getElementById(input.id);
   element.checked = input.checked; 
   if (input.checked) element.click();
}
我花了点时间,找到了一个简单的工作示例来检查保存的复选框。也许您可以根据自己的需要调整:

const container=document.getElementById'checkbox'; const data=JSON.parselocalStorage.getItem'CheckBox'| | new Array3.fillfalse; window.addEventListener'DOMContentLoaded',=>{ […container.children].forEachchild,i=>{child.checked=data[i];}; }; container.onchange={target}=>{ data[target.dataset.id]=target.checked; setItem'checkbox',JSON.stringifydata; };
您是否尝试过document.getElementByDidInput.id.click?无论是否选中它们,都只需单击它们就行了吗?您可以检查是否应该先单击它。谢谢,请观看;然而,这仍然没有调用click@CaptainRon谢谢你的投票。我添加了一些代码,也许这会让你达到目的。
if (input.id) { 
   // I need to click through the found checked here
   const element = document.getElementById(input.id);
   element.checked = input.checked; 
   if (input.checked) element.click();
}