Javascript FullCalendar—初始加载后,动态更新ajax参数不起作用
我正在使用并希望根据页面上的各种复选框动态筛选显示的事件。我正在使用ajax源代码(带有作为参数传递的过滤器)来收集数据 我遇到的问题是,一旦我加载了日历,我就无法在我的一生(或stackoverflow搜索)中找出如何更新参数。似乎一旦加载日历,这些参数就“烘焙”了,无法更改 我尝试了addEventSource、RemoveEventSource、removeEvents、refetchEvents等的每一种组合(如此处所建议的),但仍然没有成功 我目前的解决方案是在每次更新过滤器时重新启动整个.fullCalendar——这也会导致大量问题,这并不是一个优雅的解决方案Javascript FullCalendar—初始加载后,动态更新ajax参数不起作用,javascript,ajax,jquery,fullcalendar,Javascript,Ajax,Jquery,Fullcalendar,我正在使用并希望根据页面上的各种复选框动态筛选显示的事件。我正在使用ajax源代码(带有作为参数传递的过滤器)来收集数据 我遇到的问题是,一旦我加载了日历,我就无法在我的一生(或stackoverflow搜索)中找出如何更新参数。似乎一旦加载日历,这些参数就“烘焙”了,无法更改 我尝试了addEventSource、RemoveEventSource、removeEvents、refetchEvents等的每一种组合(如此处所建议的),但仍然没有成功 我目前的解决方案是在每次更新过滤器时重新启动
有没有更简单的方法?每次使用更新的参数重新蚀刻源应该是自动的。我真的非常感谢您的帮助。在我的代码中,我非常喜欢: 我有一个带有日历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”之后,将立即从新源获取事件
完整答案在这里