2010-07-18 102 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; 
    } 
});