2010-07-18 3 views
3

Я использую свойство json events для FullCalendar для вызова php-скрипта, который возвращает строку JSON. Строка имеет необходимые свойства плюс некоторые дополнительные функции, такие как «описание». В документе говорится, что вы можете добавлять свойства, но нет информации о том, как это сделать.Добавление свойства eventObject в FullCalendar

Я посмотрел, будет ли он автоматически добавляться, глядя на «event.description» (например) в обратном вызове eventRender. он был «неопределенным».

Если у кого-то есть опыт работы с этим, я был бы признателен за пример того, как это сделать.

Дэвид

ответ

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 

Затем убедитесь, что при инициализации календаря сценарий, у вас есть какой-нибудь способ, чтобы отобразить эту дополнительную информацию о событии. Вот пример с функцией щелчка события, показывающей данные в окне предупреждения (или в лайтбокс лицевой панели - закомментировано). И если существует URL-адрес, он откроет это в новой вкладке/окне.

$('.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; 
    } 
}); 
Смежные вопросы