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();
}