FullCalendar オンライン ドキュメントから
FullCalendar は、新しいイベント データが必要になるたびにこの関数を呼び出します。これは、ユーザーが前/次をクリックするか、ビューを切り替えるとトリガーされます。
この関数にはstartおよびendパラメータ
が与えられます。これらは、カレンダーがイベントを必要とする範囲を示すMomentsです。
timezoneは、カレンダーの現在のタイムゾーンを表す文字列/ブール値です。timezoneオプションの正確な値です。
また、カスタム イベント関数がそのイベントを生成したときに呼び出す必要がある関数callbackも指定されます。コールバックがEvent Objectsの配列で呼び出されていることを確認するのは、イベント関数の役割です。
イベント関数を使用して、架空の XML フィードからイベントを取得する方法を示す例を次に示します。
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: 'myxmlfeed.php',
dataType: 'xml',
data: {
// our hypothetical feed requires UNIX timestamps
start: start.unix(),
end: end.unix()
},
success: function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title: $(this).attr('title'),
start: $(this).attr('start') // will be parsed
});
});
callback(events);
}
});
}
});
ソース
私はいくつかの小さな変更を加えました:
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
jQuery.ajax({
url: 'schedule.php/load',
type: 'POST',
dataType: 'json',
data: {
start: start.format(),
end: end.format()
},
success: function(doc) {
var events = [];
if(!!doc.result){
$.map( doc.result, function( r ) {
events.push({
id: r.id,
title: r.title,
start: r.date_start,
end: r.date_end
});
});
}
callback(events);
}
});
}
});
注: ISO 8601start
であるend
必要があります。もう 1 つの変更は、代わりにを使用することでした(これにより、コード ビハインドを処理しやすくなりました)。format
unix