更改月份时清除过滤器

时间:2014-10-26 01:05:39

标签: javascript fullcalendar

我有以下代码,按日期,项目内容等过滤FullCalendar。我遇到的问题是,月份更改时不会考虑过滤器。似乎日历内部缓存了初始源。

有人可以帮忙吗?

$(document).ready(function () {

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        editable: true,
        events: getUrl()
     });

    $('#siteSelect').click(function () {

        $('#calendar').fullCalendar('removeEvents');
        $('#calendar').fullCalendar('removeEventSource', '');
        $('#calendar').fullCalendar('addEventSource', getUrl());


    });

    function getUrl() {
       return 'api/Event?' + getFilter();
    } 

    $("#toggleButton").click(function () {
        $("#toggleDiv").slideToggle("slow");

    });

});

function getFilter() {
    return $("#filterForm").serialize();

}

1 个答案:

答案 0 :(得分:2)

尝试使用此功能

$('#calendar').fullCalendar({
    events: function(start, end, timezone, callback) {
        $.ajax({
            url: getUrl(),
            dataType: 'JSON',
            success: function(data) {
                callback(JSON.parse(data));
            }
        });
    }
    ...
});