如何在数组中使用fullcalendar addeventsource? [英] How to use fullcalendar addeventsource with array?
问题描述
var event = new Array();
var numberofevents = this.serviceVariableGetDates.getTotal();
$ b
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方法被调用,它也不会改变。
解决方案
根据文档,您需要将事件数组添加到addEventSource函数中
$ b
事件必须是具有标题的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; //这应该是字符串
event.start = start_date; //这应该是日期对象
event.end = end_date; //这应该是日期对象
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');
希望这会有所帮助!
Can you please say whats wrong with this? I have a javascript function called which creates a new events array and tries to refresh 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');
The calendar does not refresh or show the events in the events array....Through different debug methods I am sure that the events array is populated with the correct data. The start_date is for example "1307318400000" which is in the unix timestamp format. The fullcalendar is being initialized somewhere else in the begining (when the page load) and it stays unchanged even though addeventsource and rerenderevents methods are called.
according to the docs you need to put array of events to the addEventSource function
event must be an Event Object with a title and start at the very least.
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');
Hope this will help!
这篇关于如何在数组中使用fullcalendar addeventsource?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!