如何将fullcalendar addeventsource与数组一起使用

How to use fullcalendar addeventsource with array?

本文关键字:数组 一起 addeventsource fullcalendar      更新时间:2023-09-26

你能告诉我这个怎么了吗?我有一个名为的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和renderevents方法,它也保持不变。

根据需要将事件数组放入addEventSource函数的文档

事件必须是具有标题的事件对象,并且从最小的

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');

希望这会有所帮助!