【发布时间】:2020-09-01 15:44:46
【问题描述】:
我有多个复选框输入,如下所示:
<input type="checkbox" id="box-1">
<input type="checkbox" id="box-2">
<input type="checkbox" id="box-3">
我想将它们的值(选中或未选中)存储在浏览器的本地存储中。
我用来执行此操作的 javascript 是:
function onClickBox() {
let checked = $("#box-1").is(":checked");
let checked = $("#box-2").is(":checked");
let checked = $("#box-3").is(":checked");
localStorage.setItem("checked", checked);
}
function onReady() {
let checked = "true" == localStorage.getItem("checked");
$("#box-1").prop('checked', checked);
$("#box-2").prop('checked', checked);
$("#box-3").prop('checked', checked);
$("#box-1").click(onClickBox);
$("#box-2").click(onClickBox);
$("#box-3").click(onClickBox);
}
$(document).ready(onReady);
第一部分保存单击时复选框的状态,第二部分在页面刷新时加载它。
如果框 2 和 3 的行被删除,这很好用,但我需要它与所有复选框一起使用。
【问题讨论】:
-
您在顶部函数中重新声明了同一个变量 (
checked) 三次。如果所有三个复选框都有不同的状态,您将不得不单独存储它们或作为位掩码。
标签: javascript jquery html local-storage