Store Checkbox 'Checked'使用本地存储存储多个项目
Store Checkbox 'Checked' with localstorage for multiple items
我想将复选框保存到本地存储,但是我使用的这段代码对于多个复选框....来说太麻烦了有更好的方法吗?
setStatus = document.getElementById('LineOp');
setStatus.onclick = function() {
if(document.getElementById('LineOp').checked) {
localStorage.setItem('LineOp', "true");
} else {
localStorage.setItem('LineOp', "false");
}
}
getStstus = localStorage.getItem('LineOp');
if (getStstus == "true") {
alert("Welcome Back");
document.getElementById("LineOp").checked = true;
} else {
console.log("News");
}
在这里,您可以放置任意数量的复选框,只需添加带有本地存储唯一标识符的store属性。JSFiddle
var boxes = document.querySelectorAll("input[type='checkbox']");
for (var i = 0; i < boxes.length; i++) {
var box = boxes[i];
if (box.hasAttribute("store")) {
setupBox(box);
}
}
function setupBox(box) {
var storageId = box.getAttribute("store");
var oldVal = localStorage.getItem(storageId);
box.checked = oldVal === "true" ? true : false;
box.addEventListener("change", function() {
localStorage.setItem(storageId, this.checked);
});
}
既然你正在使用jQuery,试试:
var getStstus = localStorage.getItem('LineOp');
if (getStstus === "true")
$("#LineOp").prop("checked", true);
$("#LineOp").click(function(){
localStorage.setItem('LineOp', $(this).prop("checked"));
});
jsFiddle
相关文章:
- 通过另一个php应用程序将我的项目推送到Github存储库中
- JavaScript算法,提供每种可能的项目组合,并将它们存储在数组中
- 从本地存储中删除动态显示在
- 中的项目
- 使用 setTimeout() 函数从本地存储中删除项目
- 将数字存储在数组中会混淆如何根据值而不是索引来操作这些项目
- 我是否需要在设置项目之前从本地存储中删除项目
- Javascript 如何将项目推送到存储在对象中的数组中
- 使用 javascript 从本地存储获取项目
- 如何从传单上的本地存储和图层组中删除特定项目
- 如何在jqueryMoblie的本地存储中存储项目
- 在 Parse 中存储项目(Javascript)
- 如何移除 DOJO 数据存储添加到我提取的项目中的所有额外字段
- 循环(将项目存储在集合中)似乎迭代的次数比它应该的次数少
- 如何在浏览器窗口/选项卡关闭时删除本地存储项目
- 如何在用户重定向或注销该页面时删除引导会话存储项目
- 离子开关不会影响正确的本地存储项目
- 是否有< light >标记,我可以用它们来存储项目的服务器端Id
- Javascript或Jquery存储项目集合
- 在$listview中获取本地存储项目
- 打印本地存储项目的概览