处理完整的日历事件对象

时间:2012-06-18 01:51:07

标签: jquery events object fullcalendar

想知道我是如何创建一个对象并向他填充信息所以我可以将他添加到完整的日历jquery插件中。 到目前为止,我做了类似的事情:

            var eventsArray = [];
            var newEvent = new Object();

            newEvent[title] = "some text";
            newEvent[start] = d1;        //got date string here exactly similar to the calendar's
            eventsArray.push(newEvent);

             var formattedEventData = [] ;
            for (var k = 0; k < eventsArray.length; k ++) {
                formattedEventData.push({

                    title: eventsArray[k][0],
                    start: eventsArray[k][1]
                });
            }

             $('#calendar').fullCalendar({
                  eventsource: formattedEventData,
                  events: formattedEventData,
                    color: 'yellow',
                    textColor: 'black'
            });
              $('#calendar').fullCalendar('addEventSource',formattedEventData);
              $('#calendar').fullCalendar('rerenderEvents');

我忘了说......没有崩溃,一切都会好起来......但日历中没什么新东西。 谢谢!

2 个答案:

答案 0 :(得分:1)

我从上面纠正了你的代码。看看这个:

var eventsArray = [];
var newEvent = [];

newEvent[0] = "some text";
newEvent[1] = new Date(y, m, d); //got date string here exactly similar to the calendar's
eventsArray.push(newEvent);

var formattedEventData = [];
for (var k = 0; k < eventsArray.length; k++) {
    formattedEventData.push({
        title: eventsArray[k][0],
        start: eventsArray[k][1]
    });
}

$('#calendar').fullCalendar({
    //eventsource: formattedEventData,
    events: formattedEventData,
    color: 'yellow',
    textColor: 'black'
});
//$('#calendar').fullCalendar('addEventSource', formattedEventData);
//$('#calendar').fullCalendar('rerenderEvents');

这里有几点需要注意:

  1. 如果你想让newEvent成为一个对象,可以用它来创建它:var newEvent = {title:“some text”,start:new Date(y,m,d)};
  2. 您无法将数组初始化为newEvent [title]。数组是基于整数索引的。
  3. eventSourcesevents不能一起使用。如果您有多个事件来源,则需要在events 中包含eventSources数组

    eventSources:[       {         事件:[           {             ...           }         ]       }     ]

答案 1 :(得分:1)

看到这个: http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/

你可以像这样使用它:

var newEvent = new Object();

newEvent.title = "some text";
newEvent.start = new Date();
newEvent.allDay = false;
$('#calendar').fullCalendar( 'renderEvent', newEvent );

请注意,当您为start分配值时,它需要采用其中一种支持的格式。

您可以指定IETF格式的字符串(例如:“Wed,2009年10月18日13:00:00 EST”),ISO8601格式的字符串(例如:“2009-11-05T13:15:30Z”)或UNIX时间戳。

希望这会有所帮助。感谢