0
votes

Créer une boucle au lieu de copier / coller du code sur et plus

Je sais qu'il y a certainement une meilleure façon de le faire, mais je ne peux pas sembler comprendre. Je sais que j'ai besoin de créer une boucle, mais c'est à ce sujet:

function loadData() {
  var getInput1 = localStorage.getItem("input1")
  var parsedInput1 = JSON.parse(getInput1)
  $("#planner-input-1").val(parsedInput1)
  //--------------------------------------

  var getInput2 = localStorage.getItem("input2")
  var parsedInput2 = JSON.parse(getInput2)
  $("#planner-input-2").val(parsedInput2)
  //--------------------------------------

  var getInput3 = localStorage.getItem("input3")
  var parsedInput3 = JSON.parse(getInput3)
  $("#planner-input-3").val(parsedInput3)
  //--------------------------------------

// etc etc etc...


0 commentaires

3 Réponses :


2
votes

Vous pouvez itérer sur les indices, de 1 à plusieurs fois que vous avez et le concaténer avec Entrée pour rechercher la propriété appropriée sur localStorage : xxx

Mais il serait préférable de ré-structurer vos données et de votre HTML - Utilisez une matrice dans le stockage local et utilisez des classes au lieu d'identifiants afin que vous puissiez faire quelque chose comme ça à la place: < Pré> xxx

Utilisation de cette méthode, le premier élément de la matrice de stockage local correspondra à la valeur à placer dans la première entrée .Planner-entrée , etc. < / p>


0 commentaires

0
votes

Démarrer un pour de 1 à N xxx

voici un Démo de travail


0 commentaires

0
votes

Utilisez un éventail d'objets pour faire le travail.

Voici une autre méthode de traitement des données dans lesquelles les ID sont prédéfinis. Votre exemple m'inquiète que vos données sont hors de forme et finiront par vous mordre, mais sans plus de détails, je n'ai aucune recommandation. J'espère que cela aide! P>

p>

function loadItem(dataId, selector) {
  var parsedInput = JSON.parse(dataId)
  $("selector").val(parsedInput)
}

function loadData() {
  var itemsToProcess = [{
      dataId: input1,
      selector: '#planner-input-1'
    },
    {
      dataId: input2,
      selector: '#planner-input-2'
    },
    {
      dataId: input3,
      selector: '#planner-input-3'
    }
  ]


  itemsToProcess.forEach(function(item) {
    loadItem(item.dataId, item.selector);
  })
  // OR
  for (let item of items) {
    loadItem(item.dataId, item.selector);
  }
}


0 commentaires