这是我第一次在这里提问。我正在使用 jQuery 插件 fullCalendar 并且在大多数情况下,除了一个问题外,我的工作都很好。我在日历事件中添加了一个过滤器,当用户单击复选框时,我想重新加载日历并查询数据库以获取过滤后的结果。我可以毫无问题地做到这一点,但如果我所在的月份不是当前月份,日历将始终返回当前月份并显示过滤结果。然后,用户必须单击上一个/下一个按钮才能返回他们所在的位置。
一个似乎可行的解决方案是:
function reloadCalendar(formInputs, height, view, startView, endView) {
var source1 = {
url: 'ajax.php?c=careerDevCalendar&a=getEvents',
data: {
filter: formInputs
}
};
var s = Math.round(startView.getTime() / 1000);
var e = Math.round(endView.getTime() / 1000);
var source = 'ajax.php?c=careerDevCalendar&a=getEvents&startF='+s+'&endF='+e+'&'+formInputs;
$("#calendar").fullCalendar('removeEvents');
$("#calendar").fullCalendar('removeEventSource', source1);
$("#calendar").fullCalendar('addEventSource', source);
$("#calendar").fullCalendar('rerenderEvents');
}
我能够在 JSON 数组中获取过滤后的结果,并且日历保持在我碰巧所在的月份,但它不会呈现日历中的事件。有没有人知道我可以做些什么来过滤事件而不让日历回到当前月份?
提前致谢