如何在数组中使用fullcalendar addeventsource?

时间:2011-05-31 03:48:29

标签: javascript jquery arrays fullcalendar

你能说出这是错的吗?我有一个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方法它也保持不变。

1 个答案:

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

希望这会有所帮助!