2012-03-25 14 views
4

Hey Leute, ich benutze das Full Calendar jQuery Plugin.Vollkalender für HTML5 LocalStorage

Ich wollte die Ereignisse speichern und durch LocalStorage HTML5 abrufen.

Und ich habe erreicht, Teil mit JSON zu speichern und erhielt das Element von lokalen Speicherelement von JSON Parse.

nw wenn ich durch den JSON-Wert (für mehr als 50 Werte) durchläuft und dem Ereignisobjekt dasselbe zuweise, funktioniert es nicht korrekt.

Hier ist meine Schleife (Sample)

var vEvents = '['; 

for(i=1; i<=1; i++) 
{ 
    vEvents += '{ "title": "new appointment", "start": "12-MAR-2012 14:00" }'; 
} 

vEvents += ']'; 

und es Assignin wie diese

events: vEvents, 

ist die o/p Konsolenprotokoll: -

[{ "title": "new appointment", "start": "12-MAR-2012 14:00" }] 

Die fullcalender ist das korrekte o/p nicht holen, während, wenn ich es wie unten setze (statisch) es richtig arbeitet.

var vEvents = [{ "title": "new appointment", "start": "12-MAR-2012 14:00" }]; 

Bitte helfen Sie mir auf die gleiche bitte.

Antwort

0

Vielen Dank für Ihre Mühe. Dies ist, wie ich speichern:

calendar.fullCalendar('renderEvent',{title: title,start: start, 
          end: end, 
          allDay: allDay, 
          description :'test', 
          save : localStorage.setItem("iCals"+eventIdLocal, JSON.stringify({"title": title, "start": start,"end" : end , "allDay" : allDay })) 

         } 

und das ist, wie ich abrufen zurück:

var eventIdLocal = localStorage.getItem("getiCalsEventIdiCals"); 

     var title; 

     valeventsiCals = '['; 

     for(i=1; i<=eventIdLocal; i++) 
     { 
      var numval = JSON.parse(localStorage.getItem("iCals"+i)); 

      valeventsiCals += '{"id" :"'+i+'"', 
      valeventsiCals += ',"title" :"'+numval.title+'"', 
      valeventsiCals += ',"start" :"'+numval.start+'"'; 

      if(i<eventIdLocal) 
      valeventsiCals += "},"; 
     } 

     valeventsiCals +='}]'; 
+0

hat es behoben. Ereignisse: jQuery.parseJSON (valeventsiCals), die den Stachel in JSON-Objekt – Harry

+0

konvertieren, wie Sie den Msdropdown-Jquery-Optionswert entfernen, tun Sie dies bitte. – Harry

+0

könnte Ihren Code darüber teilen, wie Sie die Ereignisse im lokalen Speicher speichern? –

1

Im ersten Fall fügen Sie nur eine Zeichenkette an, während fullcalendar ein Objekt erwartet (deshalb funktioniert der zweite Fall). Bevor Sie die Daten in localStorage speichern, konvertieren Sie sie einfach in die JSON-Zeichenfolge.

localStorage.eventsList = JSON.stringify(vEvents); 

Und es zurück konvertieren zu einem Objekt, wenn aus dem Speicher abrufen

var events = JSON.parse(localStorage.eventsList); 
+0

Hey Dank für Ihr Feedback ... Ich bin nur das Gleiche zu tun, was u mentioned.i posted nur die hier mein Beispielcode ... bevor ich ihn benutze benutze ich JSON.stringify und bekomme die Ergebnisse von JSON.parse zurück. aber es zeigt immer noch nicht die richtige o/p, wenn ich kopiere die gleiche looped o/p in eine neue txt-datei und rufen sie die txt-datei wie ereignisse: 'events.txt' ich bekomme die richtige o/p. – Harry

+1

Ich habe eine einfache Demo hinzugefügt, basierend auf meinem Verständnis Ihrer Bedürfnisse. http://jsfiddle.net/cz55S/ – Checksum