来自局部变量的全日历刷新事件
Fullcalendar refresh events from local variable
我在我的 POC 项目中使用 FullCalendar。我有两个数据网格(使用 jTable)。我想在那里放一些行,单击 'Send Request' 然后 JSON 正在创建。它被发送到我的后端应用程序,然后被处理并返回响应(仍在 JSON 中)。我的 AJAX-success-handler 接收此响应并将其转换为 JavaScript 对象以便放入日历中。
只要我有过这样的构造:
$.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() 部分,并尝试 refresh/update 带有事件的日历。到目前为止,我已经在 'success' 处理程序中尝试过:
$('#calendar').fullCalendar( 'refetchEvents' ); //It should work with feeds but I've tried anyway
$('#calendar').fullCalendar({ events: eventsToPut});
$('#calendar').fullCalendar( 'updateEvents', eventsToPut );
但是日历不刷新数据。谁能帮我用新数据刷新日历?
首先,使用removeEvents
从日历中删除所有事件
$('#calendar').fullCalendar('removeEvents', function () { return true; });
然后,您可以使用addEventSource
添加新事件
var eventsToPut = [];
$.each(data.taskList, function(k, v) {
// OBJECT is created when processing response
eventsToPut.push( OBJECT );
});
$('#calendar').fullCalendar('addEventSource', eventsToPut, true);
我在我的 POC 项目中使用 FullCalendar。我有两个数据网格(使用 jTable)。我想在那里放一些行,单击 'Send Request' 然后 JSON 正在创建。它被发送到我的后端应用程序,然后被处理并返回响应(仍在 JSON 中)。我的 AJAX-success-handler 接收此响应并将其转换为 JavaScript 对象以便放入日历中。
只要我有过这样的构造:
$.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() 部分,并尝试 refresh/update 带有事件的日历。到目前为止,我已经在 'success' 处理程序中尝试过:
$('#calendar').fullCalendar( 'refetchEvents' ); //It should work with feeds but I've tried anyway
$('#calendar').fullCalendar({ events: eventsToPut});
$('#calendar').fullCalendar( 'updateEvents', eventsToPut );
但是日历不刷新数据。谁能帮我用新数据刷新日历?
首先,使用removeEvents
$('#calendar').fullCalendar('removeEvents', function () { return true; });
然后,您可以使用addEventSource
添加新事件
var eventsToPut = [];
$.each(data.taskList, function(k, v) {
// OBJECT is created when processing response
eventsToPut.push( OBJECT );
});
$('#calendar').fullCalendar('addEventSource', eventsToPut, true);