データベースエントリを更新してイベントをレンダリングするのに非常に苦労しています。最初に、イベントを正常にレンダリングしました。
私は次のようなイベント配列を持っています:
{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?>]
これまで、コードは適切に機能し、必要に応じてイベントをレンダリングします。
前へ、次へボタンをクリックした後、データベースを更新してイベントをレンダリングする必要があります。それは次のようなものです:
$('.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 KoziaraJSON
が最初に提案したようにイベントを作成し、カレンダー イベントが発生するたびにを取得してイベントを取得します。JSON イベント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
eventSources.