我非常喜欢通过更新我的数据库条目来渲染事件。原来, 我已成功通过;
呈现事件我有事件数组:
{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new
Date(2013, m, 05, 10,00), allDay: false},{title: 'Available', start:
new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50),
allDay: false}
将在calander中呈现:
events:[<?php echo $events?>]
到此为止,代码效果良好并根据需要呈现事件。
在prev之后,单击下一个按钮,我必须通过更新数据库来呈现事件。这是这样的:
$('.fc-button-next span').live('click', function() {
var calandar = $('#calandar');
$.ajax({
url: 'fetchEvents',
dataType: 'JSON',
type: 'POST',
success: function(doc) {
calandar.fullCalendar('removeEvents',event),
calandar.fullCalendar( 'renderEvent',doc.events);
calandar.fullCalendar('rerenderEvent',doc.events);
}
});
});
“fetchEvents”返回与之前相同的事件格式,但采用JSON格式,如:
"{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false}"
不知道如何在下一次点击事件中呈现JSON事件对象。那就是我必须通过ajax调用来呈现全新的事件。请建议。
解决:
而不是我建立的事件,我按照 Lukasz Koziara 的建议创建JSON
事件,就像他的第一个建议一样,这样每次日历事件发生时,它都会获得{{1}获取事件。
JSON EVENT
eventSource
而不是事件,我在[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}]
中使用 ajax调用来获取此类eventSources
这看起来像:
JSON EVENTS.
这样,当第一次呈现 eventSources: [{
url: 'fetchEvents',
type: 'POST'
}]
或点击calander
,next
或previous
按钮时,today
它会自动提取指定的事件按calander
答案 0 :(得分:1)
第一个建议:为什么不使用一种类型的事件源?例如,使用JSON提要 - 您可以通过GET参数start
和end
获取事件范围,因此如果您更改月份或视图,则可以从数据库适当的事件发送。
第二个建议:如果您一定需要两种类型的事件来源,请尝试使用addEventSource / removeEventSource