带有保存的复选框状态的事件冒泡

问题描述 投票:1回答:1

我将一系列复选框的状态保存为truefalse,并保存到本地存储渲染中,并使用这些数据在稍​​后的时间重新检查这些复选框。所有工作大部分都有效,但是,一个杂散的复选框正在变为[[checked,它的数据正在按应有的方式报告false,而其他数据则未被报告为[[checked,但是正在被检查。] >可悲的是,我的所有尝试,包括其中的一种都得到了回答;取消该功能,并且不会重新选中任何复选框。

// reset before loading var clist = document.querySelectorAll('.k-treeview-lines input[type="checkbox"]'); for (var i = 0; i < clist.length; ++i) { clist[i].checked = false; } // $saved checkbox states, recheck const defaultData = { userAchkData: [] }; const localStorageData = JSON.parse(localStorage.getItem(username)); let userA = localStorageData || defaultData; let inputs = userA[username].userAchkData; inputs.forEach(function (input) { if (input.checked) { var inputElem = document.getElementById(input.id) inputElem.click(); } return false; // attempt }); }

我也尝试过input.stopPropagation()

如果有帮助,这就是我保存复选框的方式:

// Save layer funct, $all current checkbox states user localStorage function layerSaver() { const defaultData = { userAchkData: [] }; const localStorageData = JSON.parse(localStorage.getItem(username)); let userA = localStorageData || defaultData; let inputs = document.querySelectorAll('.k-treeview-lines input[type="checkbox"]'); userA[username].userAchkData = []; inputs.forEach(function (input) { userA[username].userAchkData.push({ id: input.id, checked: input.checked }); }); localStorage.setItem(username, JSON.stringify(userA)); console.log(JSON.stringify(userA)); }

我将一系列复选框的状态保存为本地复选框,如是:是或否,然后使用这些数据在以后的时间重新检查这些复选框。大部分作品,...

javascript event-bubbling event-delegation
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.