【问题标题】:localstorage to store and retrieve non-blank IDlocalstorage 存储和检索非空白 ID
【发布时间】:2019-01-13 19:46:21
【问题描述】:

我有一个使用 localstorage 将非空白 ID #M1 存储到 #M48 的循环 但还需要一种方法来检索本地存储变量。我怀疑答案与 JSON.stringify 有关。

我该怎么做?

<form>

<input type = "text" id = "M1" />
<input type = "text" id = "M2" />
<input type = "text" id = "M3" />
...

</form>

<script> //store the variables

$max_entrants = 48;     

for ($i = 0; $i <= $max_entrants; $i++) {

localStorage.setItem("LS-MEM_" +$i, "M" +$i);

}

</script>

<script> //retrieve the variables into a form using ID#s

$max_entrants = 48;     

for ($i = 0; $i <= $max_entrants; $i++) {

$wrench = localStorage.getItem("LS-MEM_" +$i); 
$("#M" +$i).val($wrench); 

}

</script>

上面的脚本已经过测试并且失败了。

<div id = "result"></div>

<script>
document.getElementById("result").innerHTML = localStorage.getItem("LS-MEM_2");
</script>

输出为 ======>> "M2"

这可以解决吗?

【问题讨论】:

  • 我认为您还想从文本框中获取值。围绕getElementById做一些研究。
  • 答案可以这样添加和标记吗?
  • 是的。我怀疑答案与 JSON.stringify 有关。如果您发布有效的答案,我会将其标记为有帮助和解决方案。
  • 不清楚您要做什么。您的代码示例仅存储键/值对,例如 LS_MEM_1: 'M1',因此您想要“修复”的输出是预期的。你希望得到什么输出?
  • 您的代码运行良好。你还期待什么?它正确地将值存储在本地存储中,获取它们并将它们分配给相应的文本框。见一个工作小提琴here

标签: javascript local-storage


【解决方案1】:

嗯,字符串“M2”是您存储在本地存储中的内容。尝试这样的事情(假设你使用 jQuery)来存储值。

localStorage.setItem("LS-MEM_" +$i, $jQuery("#M"+$i).val() );

小提琴链接:https://jsfiddle.net/iPirat/26tjsva1/

【讨论】:

  • document.getElementById("result").innerHTML = localStorage.getItem("LS-MEM_2");你能解决这个问题以使用计数器而不是文字 LS-MEM_2,好吗?
  • 我放弃了。没有答案。
  • 答案就在这里。用"LS-MEM_" + $i 替换"LS-MEM_2" 是一个简单的练习
  • 我更新了 jsFiddle 以将所有三个值从本地存储读取到 spans。希望有帮助
  • 附言。并将getElementById 替换为等效的jQuery
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 2022-01-24
  • 2021-09-08
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
相关资源
最近更新 更多