javascript для цикла для переменных json в localStorage отображает только последний элемент в wtform - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь заполнить текстовое поле wtform элементами из массива json, хранящегося в localStorage.В каждой строке должно быть 1 значение:

значение1

значение2

значение3

, когда я получаю элементы с моим циклом for только последнимэлемент отображается.

value3

Любая помощь будет принята с благодарностью.

 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;
      };
    };

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Я сделал следующие корректировки, основываясь на отзывах Новала Агунга Прайого, и он работает отлично!

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';
  };
};
0 голосов
/ 12 октября 2018

Из вашего кода приведенный ниже оператор всегда будет заменять предыдущее значение новым значением в каждом цикле:

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 />";
};
...