私はPOCプロジェクトでFullCalendarを使用しています。私が持っているのは、2つのデータグリッド(jTableを使用)です。そこにいくつかの行を置いて、「Send Request」をクリックしてJSONを作成します。それは私のバックエンドアプリケーションに送信され、処理され、応答(まだJSON内)が返されています。私のAJAX-success-handlerはこのレスポンスを受け取り、それをカレンダーに入れるためにJavaScriptオブジェクトに変換します。私はこのような建設を持っていた限りローカル変数からFullcalendarリフレッシュイベント
は:
$.post({
// options cut for clean output
success: function(data, textStatus, jqXHR) {
var eventsToPut = [];
$.each(data.taskList, function(k, v) {
// OBJECT is created when processing response
eventsToPut.push (OBJECT);
});
$('#calendar').fullCalendar({
events: eventsToPut,
// config of calendar cut
});
}
});
それは正常に動作します。応答がレンダリングされ、イベントがカレンダーに表示されます。問題は、データグリッドのデータを変更してバックエンドに要求を再送信する場合です。応答は有効ですが、カレンダーはイベントを更新していません。
私は、EMPTYイベントを使用してカレンダーの作成をjQuery.ready()セクションに抽出し、カレンダーの更新時にイベントが発生したときにカレンダーを更新/更新しようと決めました。これまでのところ、私は「成功」ハンドラーで試してみました:
$('#calendar').fullCalendar('refetchEvents'); //It should work with feeds but I've tried anyway
$('#calendar').fullCalendar({ events: eventsToPut});
$('#calendar').fullCalendar('updateEvents', eventsToPut);
しかし、カレンダーはデータをリフレッシュしません。誰も私が新しいデータでカレンダーを更新するのを手伝ってもらえますか?すべての
方法を追加するために
addEventSource
を使用することができ、その後、removeEvents
を使って、カレンダーからすべてのイベントを削除しますhttps://fullcalendar.io/docs/event_data/addEventSource/)成功コールバックには?新しいイベントの配列で。あなたはおそらく以前の出来事を最初に取り除かなければならないでしょう。 –