Javascript FullCalendar—初始加载后,动态更新ajax参数不起作用

Javascript FullCalendar—初始加载后,动态更新ajax参数不起作用,javascript,ajax,jquery,fullcalendar,Javascript,Ajax,Jquery,Fullcalendar,我正在使用并希望根据页面上的各种复选框动态筛选显示的事件。我正在使用ajax源代码(带有作为参数传递的过滤器)来收集数据 我遇到的问题是,一旦我加载了日历,我就无法在我的一生(或stackoverflow搜索)中找出如何更新参数。似乎一旦加载日历,这些参数就“烘焙”了,无法更改 我尝试了addEventSource、RemoveEventSource、removeEvents、refetchEvents等的每一种组合(如此处所建议的),但仍然没有成功 我目前的解决方案是在每次更新过滤器时重新启动

我正在使用并希望根据页面上的各种复选框动态筛选显示的事件。我正在使用ajax源代码(带有作为参数传递的过滤器)来收集数据

我遇到的问题是,一旦我加载了日历,我就无法在我的一生(或stackoverflow搜索)中找出如何更新参数。似乎一旦加载日历,这些参数就“烘焙”了,无法更改

我尝试了addEventSource、RemoveEventSource、removeEvents、refetchEvents等的每一种组合(如此处所建议的),但仍然没有成功

我目前的解决方案是在每次更新过滤器时重新启动整个.fullCalendar——这也会导致大量问题,这并不是一个优雅的解决方案


有没有更简单的方法?每次使用更新的参数重新蚀刻源应该是自动的。我真的非常感谢您的帮助。

在我的代码中,我非常喜欢:

我有一个带有日历id的数组要显示,当用户选中或取消选中复选框时,我会更新它

在fullCalendar初始化中,我检索所有事件,并使用此函数筛选它们:

function fetchEvent( calendars, events) {

    function eventCorrespond (element, index, array) {

          return $.inArray(element.calendarid, calendars) > -1;

    }

return  events.filter(eventCorrespond);
}

$('#calendar').fullCalendar({
    events: function(start, end, callback) {

    //fetch events for date range  on the server and retrieve an events array
    //update calendars, your array of calendarsId 

    //return a filtered events array
        callback(fetchEvent(calendars , events));
    }
});
当用户选中或取消选中复选框时,我会:

$('#calendar').fullCalendar('refetchEvents');

适合我的解决方案是:

$('#calendar').fullCalendar('removeEventSource', 'JsonResponse.ashx?technicans=' + technicians);
technicians = new_technicians_value;
$('#calendar').fullCalendar('addEventSource', 'JsonResponse.ashx?technicans=' + technicians);
在“addEventSource”之后,将立即从新源获取事件

完整答案在这里