2010-07-18 101 views
3

我使用FullCalendar的json events属性来调用一个返回JSON字符串的php脚本。该字符串具有所需的属性以及诸如“描述”之类的附加内容。该文件说,你可以添加属性,但没有如何做到这一点的信息。将属性添加到FullCalendar中的eventObject

我期待通过查看eventRender回调中的'event.description'来查看它是否被自动添加。它是'未定义的'。

如果有人有任何这方面的经验,我会很感激如何做到这一点的例子。

大卫

回答

4

当你创建一个新的FullCalendar事件,你可以包括与事件一起任何附加属性。 FullCalendar将忽略任何额外的属性,因此您将不得不编写一些脚本来添加和显示它们。

例如,添加事件地点或说明会进行如下:

var event = { 
id   : '123', 
title  : 'New Event', 
url   : 'http://thearena.com/', 
start  : "Sun, 18 Jul 2010 13:00:00 EST", 
end   : "Sun, 18 Jul 2010 17:00:00 EST", 
allDay  : false, 

location : 'The Arena', 
description : 'Big Event', 

editable : true 
}; 
$('.fc').fullCalendar('renderEvent', event, true) // Add Event to fullCalendar 

// Add script here to post the event back to your server 

然后确保当你初始化脚本日历,你有一些方式来显示这些额外的事件信息。以下是一个使用事件点击功能在警报窗口中显示数据的示例(或者一个facebox lightbox - 注释掉)。如果网址存在,它也会在新的标签页/窗口中打开。

$('.fc').fullCalendar({ 
eventClick: function(calEvent, jsEvent, view) { 
    var event = 'Event: ' + calEvent.title + '<br>' + 
    'Location: ' + calEvent.location + '<br>' + 
    'Start time: ' + calEvent.start + '<br>' + 
    'End time: ' + calEvent.end + '<br>' + 
    'Description: ' + calEvent.description; 

    alert(event); 
    // jQuery.facebox(event); // this would open the HTML in a facebox popup window 

    if (calEvent.url) { 
    window.open(calEvent.url); 
    return false; 
    } 
});