如何在数组中使用fullcalendar addeventsource? [英] How to use fullcalendar addeventsource with array?

查看:338
本文介绍了如何在数组中使用fullcalendar addeventsource?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你可以说这有什么问题吗?我有一个javascript函数调用它创建一个新的事件数组,并尝试刷新fullcalendar。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆