【发布时间】:2019-12-15 21:01:23
【问题描述】:
我想存储选中的复选框并将它们存储在本地 存储。当我刷新浏览器或重新加载时,我希望复选框 被保存,如果选中则检查或未选中时取消选中。复选框附加到动态生成的项目列表中。
var inputValue = document.getElementById('myText');
var p = document.getElementById('ul');
var list = document.getElementById('list');
let itemsArr = [];
let id = 0;
let data = localStorage.getItem("myItems");
// Check for data in storage
if (data) {
itemsArr = JSON.parse(data);
loadList(itemsArr)
}
function loadList(myItems) {
myItems.forEach(el => {
var html =
`<li id="${el.id}" class="item"><input type="checkbox" id="check">
<span class="todo">${el.name}</span>
<span><img src="delicon.png" class="delCrss"></span>
<hr class="line"></li>`;
p.insertAdjacentHTML("beforeend", html);
id++;
});
}
//Submit button, submit data and make list
var submit = document.getElementById('btn');
submit.addEventListener('click', addItemToList);
function addItemToList(e) {
event.preventDefault();
var html =
`<li id="${id}" class="item"><input type="checkbox" id="check">
<span class="todo">${inputValue.value}</span>
<span><img src="delicon.png" class="delCrss"></span>
<hr class="line"></li>`
if (inputValue.value === '') {
alert("Please enter valid data!");
}else{
p.insertAdjacentHTML('beforeend', html)
}
itemsArr.push({
name: inputValue.value,
id: id
});
id++
localStorage.setItem("myItems", JSON.stringify(itemsArr));
inputValue.value = "";
}
【问题讨论】:
标签: javascript checkbox local-storage