javascript - 本地存储/复选框/不显示值
问题描述
我尝试使用本地存储将复选框值打印到另一个 HTML 页面,但它没有显示到另一个 HTML 页面
这是我的 page1 HTML
<input class="checkbox" type="checkbox" id="option1" name="car1" value="BMW">
<label for="vehicle1">BMW</label><br>
<input class="checkbox" type="checkbox" id="option2" name="car2" value="Ferrari">
<label for="vehicle2">Ferrari</label><br>
<input checkbox="checkbox" type="checkbox" id="option3" name="car3" value="Ford">
<label for="vehicle3">Ford</label><br>
<input class="checkbox" type="checkbox" id="option4" name="car4" value="Audi">
<label for="vehicle4">Audi</label><br>
<input class="checkbox" type="checkbox" id="option5" name="car5" value="Cadillac">
<label for="vehicle5">Cadillac</label><br>
这是我的javascript代码
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].checked) {
count2++;
localStorage.setItem("checkvalue", inputs[i].value);
}
}
<script>
// page2 HTML
<span id="result"></span>,Welcome
document.getElementById("result").innerHTML = localStorage.getItem("checkvalue");
</script>
解决方案
正如@SMAKSS 所提到的,您在每次迭代时都会覆盖您的本地存储。
代替
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].checked) {
count2++;
localStorage.setItem("checkvalue", inputs[i].value);
}
}
你应该
localStorage.setItem("results", JSON.stringify(inputs));
并通过以下方式检索它
JSON.parse(localStorage.getItem("results"));
推荐阅读
- javascript - Google nearplaces 返回 23 个地点,但地图仅显示 12 个
- javascript - 无效的钩子调用 - Material Ui
- asp.net - ASP.net:当验证属性具有散列算法作为值时,机器密钥解密属性是否用于视图状态加密?
- c - “刷新输入缓冲区”是什么意思?
- ios - 过滤出 Xcode 控制台输出(返回 NOT 文本)
- html - 滚动模态,如位置:绝对,但出现在页面上,如位置:固定
- spring-boot - refreshInterval = "-1" 在 spring-data-elasticsearch 中不起作用
- javascript - VS Code 中的 Javascript 文档含糊不清,是否有插件可以显示更多内容?
- python - 计算 pandas 中每 n 行的平均值并为行分配新标签
- mysql - Apache2 服务器上的 www-data 进程太多,WordPress 网站无法运行