你能说出这是错的吗?我有一个javascript函数调用它创建一个新的事件数组并尝试刷新fullcalendar。
var events = new Array();
var numberofevents = this.serviceVariableGetDates.getTotal();
for (i=0;i<numberofevents;i++)
{
//alert("numbrr:" + i);
var dates=this.serviceVariableGetDates.getItem(i);
console.log(dates.getData());
var start_date = dates.getValue("c0");
var end_date = dates.getValue("c1");
var event_name = dates.getValue("c2");
//var EventEntry = [ 'title: '+ event_name, 'start: '+ start_date,'end: '+ end_date ];
events['title'] = event_name;
events['start'] = start_date;
events['end'] = end_date;
events['color'] = "blue";
this.label1.setCaption(start_date);
//EventArray.push(EventEntry);
console.log(events['title']);
}
$('#calendar').fullCalendar('addEventSource',events);
$('#calendar').fullCalendar('rerenderEvents');
日历不刷新或显示事件数组中的事件....通过不同的调试方法,我确信事件数组中填充了正确的数据。 start_date例如是“1307318400000”,其为unix时间戳格式。 fullcalendar在开头的其他地方(当页面加载时)被初始化,并且即使调用了addeventsource和rerenderevents方法它也保持不变。
答案 0 :(得分:4)
根据您需要将事件数组放入addEventSource函数
的文档活动必须是带有标题的Event Object,并从最开始 至少
var events=new Array();
var numberofevents = this.serviceVariableGetDates.getTotal();
for (i=0;i<numberofevents;i++)
{
//alert("numbrr:" + i);
var dates=this.serviceVariableGetDates.getItem(i);
console.log(dates.getData());
var start_date = dates.getValue("c0");
var end_date = dates.getValue("c1");
var event_name = dates.getValue("c2");
//var EventEntry = [ 'title: '+ event_name, 'start: '+ start_date,'end: '+ end_date ];
event = new Object();
event.title = event_name; // this should be string
event.start = start_date; // this should be date object
event.end = end_date; // this should be date object
event.color = "blue";
event.allDay = false;
this.label1.setCaption(start_date);
//EventArray.push(EventEntry);
console.log(events['title']);
events.push(event);
}
$('#calendar').fullCalendar('addEventSource',events);
//$('#calendar').fullCalendar('rerenderEvents');
希望这会有所帮助!