嘿伙计们我正在使用Full Calender jQuery插件。
我想存储事件并通过LocalStorage HTML5检索。
我已经使用JSON实现了存储部分,并通过JSON Parse从localstorage项目中获取了该项目。
当我循环通过JSON值(超过50个值)并将其分配给事件对象时,它不能正常运行。
这是我的循环(样本)
var vEvents = '[';
for(i=1; i<=1; i++)
{
vEvents += '{ "title": "new appointment", "start": "12-MAR-2012 14:00" }';
}
vEvents += ']';
并像这样分配
events: vEvents,
这是控制台日志o / p: -
[{ "title": "new appointment", "start": "12-MAR-2012 14:00" }]
fullcalender没有获取正确的o / p,而如果我把它放在下面(静态)它正常工作。
var vEvents = [{ "title": "new appointment", "start": "12-MAR-2012 14:00" }];
请帮助我。
答案 0 :(得分:1)
在第一种情况下,您只是附加一个字符串,而fullcalendar需要一个对象(这就是第二种情况的原因)。在将数据存储在localStorage之前,只需将其转换为JSON字符串。
localStorage.eventsList = JSON.stringify(vEvents);
从商店检索时将其转换回对象
var events = JSON.parse(localStorage.eventsList);
答案 1 :(得分:0)
感谢您的努力。这就是我存储的方式:
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 }))
}
这就是我回收的方式:
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 +='}]';