gpt4 book ai didi

javascript - 如何在完整日历中使用新加载的事件覆盖或删除以前的事件

转载 作者:行者123 更新时间:2023-11-30 11:05:38 27 4
gpt4 key购买 nike

On fullcalendar init, I have : 

$("#m_supervisor_calendar").fullCalendar({
events: function (start, end, timezome, callback) {
$.ajax({
url: '/calendarSchedule/getCalendarData',
dataType: 'json',
success: function (events) {
callback(events)
}
})
},

但我需要一个按钮,点击后会更改事件源并删除以前的事件。它首先工作,即它正在清除以前的事件并显示新呈现的事件,但是当我单击 prev next month 按钮时。它显示所有事件,即以前的事件和新事件。

$('button').on('click', function(){

$.ajax({
url: ''fetch/calendarByVolunteer',
dataType: 'json',
success: function (events) {
$("#m_supervisor_calendar").fullCalendar('removeEvents');
$("#m_supervisor_calendar").fullCalendar('addEventSource', response);
$("#m_supervisor_calendar").fullCalendar('rerenderEvents', response);
}
})

})

所以我想要的是完全删除以前的事件。

最佳答案

与其自己获取事件,我建议使用事件源。阅读here关于作为 JSON 提要的事件源。

然后 fullcalendar 可以选择动态地 addremove事件源。

然后在您的函数中,您可以删除源并将另一个源添加到日历

$("#m_supervisor_calendar").fullCalendar({
eventSources: [
{
id: 'mySource'
url: 'fetch/calendarByVolunteer',
}
]
});

然后在你的按钮函数中

$('button').on('click', function(){
$("#m_supervisor_calendar").fullCalendar( ‘removeEventSource’, 'mySource' )
});

编辑: removing all sources :

If optionalSourcesArray is not given, all event sources will be removed.

所以用这样的东西

$("#m_supervisor_calendar").fullCalendar( ‘removeEventSource’)

Edit2 重新获取根据documentation关于 lazyFetching

When set to false, the calendar will fetch events any time the view is switched, or any time the current date changes (for example, as a result of the user clicking prev/next).

您需要在首次初始化日历时将其设置为日历选项。

$('#calendar').fullCalendar({
eventSources: [
{
id: 'mySource'
url: 'fetch/calendarByVolunteer',
}
],
lazyFetching: false,
});

现在,每次您导航或更改 View 时,您的 eventSource 都会被调用,开始和结束变量将作为 get 参数传递给它。例如,如果您的事件源是 myfeed.php 并且日历应该显示从 2019-12-012019-12-5 结束的事件>,fullcalendar 将发出如下所示的获取请求:

/myfeed.php?start=2019-12-01&end=2019-12-05

关于javascript - 如何在完整日历中使用新加载的事件覆盖或删除以前的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55740212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com