Ergebnis 1 bis 5 von 5
Like Tree4Likes
  • 1 Post By tsseh
  • 2 Post By paul schmitz
  • 1 Post By lazercaveman

Thema: Array in local storage speichern, nicht so wie ich will :/

  1. #1
    Avatar von lazercaveman
    lazercaveman ist offline Mitglied
    registriert
    19-01-2014
    Beiträge
    26

    Array in local storage speichern, nicht so wie ich will :/

    Hi @ All,

    ich habe da folgendes Problem. Ich mache gerade eine Website, auf der es die Möglichkeit zu einem Produktvergleich geben soll. Nun habe ich also eine Funktion geschrieben, die dieses gewährleistet, so weit so einfach...

    Nun soll es allerdings auch so sein, dass wenn der Kunde die Seite verlässt, und z.B. eine Unterseite besucht die Vergleichsbox mitgenommen werden soll (diese ist ein Zentrales Element der Page und bleibt immer eingeblendet). Um dieses zu gewährleisten habe ich die Daten in ein Array geschrieben und dieses gespeichert. Alles funktioniert so wie es soll, Daten werden in das Array übertragen, das Array wir vernünftig dargestellt, wenn ich nun jedoch auf eine Unterseite wechsel/refreshe wird das ganze zwar ausgegeben, allerdings als ein Punkt in dem Array und nicht wie zuvor als einzelne Punkte. Die ist allerdings notwendig, da diese auch wieder aus der Vergleichsbox, einzeln gelöscht werden können sollen.

    Wirklich merkwürdig, irgendwo mache ich einen Fehler und sehe jetzt den Wald vor lauter Bäumen nicht mehr :/ vlt. sieht ja jemand von euch auf die Schnelle wo das Problem liegt, hier mal der Code:

    Code:
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    //  Artikel vergleichen
    
    var DealsInCheck = [
      localStorage.getItem('dealcheckvalue'),
    ];
    
    $('#tarifrail').html( DealsInCheck[length] );
    
    // Tarif zu Vergleichsbox hinzufügen
    $('.vergleichsbtn').click ( function () {
    
      // variable zur Auswahl der zu speichernden Elemente
      var checkdetails = $(this).parent('.intercationbox').siblings('.dealdetails').html();
    
      // Beschreibung des Arrays
      localStorage.setItem('dealtransfer', checkdetails);
      DealsInCheck[DealsInCheck.length] = localStorage.getItem('dealtransfer');
    
      localStorage.setItem('dealcheckvalue', DealsInCheck);
    
      $('#tarifrail').html( DealsInCheck );
    
      console.log(DealsInCheck);
    
    });
    Vielen Dank an alle die sich das anschaue schon mal vorab. Vlt könnt ihr hier ja mal kund tun wie ihr das lösen würdet.

    LG

    - - - Aktualisiert - - -

    Okay, also das Problem ist mir mittler Weile ersichtlich. Das Array wird onload ja quasi so gesetzt, dass die Inhalte in einem Punkt zusammengefasst werden. Ich habe jetzt mal hin und her überlegt und komme zu dem Entschluss, dass ich entweder jeden einzelnen Unterpunkt des Arrays explizit definieren müsste, das ist ja ziemlich ineffizient hat da evtl jemand eine bessere Lösung?

    LG
    Geändert von mikdoe (03-07-2017 um 20:56 Uhr) Grund: gelöst gesetzt

  2. #2
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: Array in local storage speichern, nicht so wie ich will :/

    beim reinschreiben in den ls das array in einen string wandeln und nach dem rücklesen des strings diesen wieder in ein js-objekt
    lazercaveman likes this.

  3. #3
    Avatar von lazercaveman
    lazercaveman ist offline Mitglied
    registriert
    19-01-2014
    Beiträge
    26

    AW: Array in local storage speichern, nicht so wie ich will :/

    Hey,

    vielen Dank für deine Antwort. Genau das hatte ich auch bereits gedacht und mir angeschaut. Jedoch bin ich nicht so der JSON Pro... ich habe es jetzt einfach so gemacht, das ich den Inhalt der Vergleichsbox, nach jeder Veränderung insgesamt speicher und nicht jedes einzeln hinzugefügte Produkt. Das Funktioniert grade auch super und da der Kunde sowieso nicht mehr will, als die Sachen dort abzulegen bzw. wieder zu entfernen ist das vorerst auch ausreichend. Dennoch muss ich mir die ganze JSON-Sache mal anschauen.

    thnx 4 Help
    Geändert von lazercaveman (03-07-2017 um 16:58 Uhr)

  4. #4
    paul schmitz ist offline Doppel-As
    registriert
    29-03-2015
    Beiträge
    134

    AW: Array in local storage speichern, jetzt so wie ich will :)

    Das mit JSON ist in diesem Fall wirklich einfach!
    Code:
    function arrayInLocalStorage(key,arr){
      localStorage[key]=JSON.stringify(arr);
    }
    function localStorageInArray(key){
      return JSON.parse(localStorage[key])||localStorage[key];
    }
    Mit arrayInLocalStorage schreibst du ein Array in den localStorage, mit localStorageInArray bekommst du es wieder als Array hinaus.
    Geändert von paul schmitz (04-07-2017 um 18:51 Uhr) Grund: Formatierung des Scriptes verhauen
    mikdoe and lazercaveman like this.
    Rubiks!
    Wer Rechtschreibfehler findet, darf sie behalten (und wegen mir auch aufessen)

  5. #5
    Avatar von lazercaveman
    lazercaveman ist offline Mitglied
    registriert
    19-01-2014
    Beiträge
    26

    AW: Array in local storage speichern, nicht so wie ich will :/

    cool, habs jetzt vorerst anders gelöst, aber scheint ja wirklich relativ einfach zu sein, danke
    paul schmitz likes this.

Ähnliche Themen

  1. [GELÖST] Local Storage für Javascript Änderungen
    Von Mokkor im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 22-06-2017, 18:33
  2. [FRAGE] Formular mit Local Storage speichern und abrufen
    Von Mimi173 im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 15-07-2015, 10:28
  3. Antworten: 33
    Letzter Beitrag: 14-07-2014, 23:59
  4. Local Storage
    Von jsAnfaenger im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 17-01-2014, 19:15

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •