FullCalendar删除事件并重新添加它们

时间:2011-08-17 16:58:56

标签: fullcalendar

我的jquery fullcalendar出了问题。 在日历上方,我有一个下拉列表,可以过滤日历中的事件。

所以,我尝试做的是删除所有事件并根据下拉列表分配新事件。视图每次都会重复。 你以前一定见过这个,但在你建议我阅读链接之前,请知道: 1.我正在使用javascript函数来检索视图源。 2.我没有使用任何json feed或php(我不能)。 3.由于#2,我无法使用eventrouce或google feed。

我非常依赖js来做事件过滤(我只需要)。这是我尝试的代码和我日历的代码。 $('#calendar')。fullCalendar({events:generateFiltered()}); generatefiltered是一个重新调整数据的js函数。

$(document).ready(function () {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: ''
        },
        editable: true,
        disableDragging: true,

        // Event handlers
        events: events(),
        eventClick: eventClick,
        dayClick: dayClick
    });
});

初始加载使用此行:  events:events(),这也是另一个返回数据的javascript。

我现在唯一能想到的就是删除日历(通过找到它的div),然后重新创建它,我试图避免。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用removeEvents从日历中删除所有事件,然后使用addEventSource添加新的事件数组

答案 1 :(得分:0)

您可以这样做:

...
eventSources: [eventFetchFunction], //don't call this function here!
...

eventFetchFunction = (start, end, timezone, callback) => {
   const myCreatedEvents = []
   //do whatever you want here to generate or fetch events and add them to this array

   callback(myCreatedEvents)
}

每当您需要重新创建事件时,只需致电

.fullCalendar( ‘refetchEvents’ )

然后将重新触发该功能