JavaScript for 循环 for localStorage 中的 JSON 变量仅显示 wtform 中的最后



我正在尝试使用存储在localStorage中的json数组中的项目填充wtform文本区域字段。每行应该有 1 个值,如下所示:

值1

值2

值3

当我使用 for 循环获取项目时,仅显示最后一个项目。

值3

任何协助将不胜感激。

function getValue() {
//sets requirements as a json array
var myinputs = $("[id^=reqInput]").map(function(){
return this.value;
}).get();
localStorage.setItem("reqs", JSON.stringify(myinputs));
console.log(myinputs);
// calls arrays and populates criteria form
for (var i = 0; i < myinputs.length; i++) {
var reqArray = myinputs[i];
console.log(reqArray);
document.getElementById("mission").value = reqArray;
};
};

从您的代码中,下面的语句将始终在每个循环中将以前的值替换为新值:

document.getElementById("mission").value = reqArray;

如果要将每个值打印在单独的行中,则需要将值附加到#mission上(而不是替换它(,并将<br />放在两者之间。

例:

// empty the element at first
document.getElementById("mission").innerHTML = ""
for (var i = 0; i < myinputs.length; i++) {
var reqArray = myinputs[i];
document.getElementById("mission").innerHTML += reqArray + "<br />";
};

我根据Noval Agung Prayogo的反馈进行了以下调整,它非常有效!

function getValue() {
//sets requirements as a json array
var myinputs = $("[id^=reqInput]").map(function(){
return this.value;
}).get();
sessionStorage.setItem("reqs", JSON.stringify(myinputs));
console.log(myinputs);
document.getElementById("mission").value = ""
for (var i = 0; i < myinputs.length; i++) {
var reqArray = myinputs[i];
document.getElementById("mission").value += reqArray + 'n';
};
};

最新更新