1

这是我第一次在这里提问。我正在使用 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 数组中获取过滤后的结果,并且日历保持在我碰巧所在的月份,但它不会呈现日历中的事件。有没有人知道我可以做些什么来过滤事件而不让日历回到当前月份?

提前致谢

4

0 回答 0