【发布时间】:2013-05-29 22:16:21
【问题描述】:
我非常热衷于通过更新我的数据库条目来呈现事件。原来, 我已经成功渲染了事件;
我的事件数组为:
{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}
将通过以下方式在日历中呈现:
events:[<?php echo $events?>]
到目前为止,代码运行良好并根据需要呈现事件。
在 prev 之后,单击 next 按钮,我必须通过更新数据库来呈现事件。是这样的:
$('.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 调用呈现全新的事件。请提出建议。
已解决:
我创建 JSON 事件,而不是我创建的事件,正如 Lukasz Koziara 在他的第一个建议中所建议的那样,每次日历事件发生时,它都会获取 eventSource 以获取事件。
JSON 事件
[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}]
我使用eventSources 进行了ajax 调用,而不是事件,以获得这种类型的JSON EVENTS.
这看起来像:
eventSources: [{
url: 'fetchEvents',
type: 'POST'
}]
因此,当calander 第一次呈现或next、previous 或today 按钮被点击时,calander 它会自行获取eventSources. 指定的事件
【问题讨论】:
标签: php jquery jquery-plugins fullcalendar