FullCalendar (jQuery) refetchEvent 不会显示事件



我曾经有

$('#calendar').fullCalendar({
    //some properties...
    events: "/Agenda/GetEvents/",
});

它工作得很好,我的事件显示正确。现在我想更新一个组合框选择的事件(refetch),下面是我所做的修改:

$('#calendar').fullCalendar({
    //some properties...
    events: function (start, end) {
        $.ajax({
            url: '/Agenda/GetEvents/',
            dataType: 'json',
            data: {
                start: Math.round(start.getTime() / 1000),
                end: Math.round(end.getTime() / 1000),
                utilisateur: $("#Utilisateur option:selected").val()
            }
        });
        $('#Calendar').fullCalendar('refetchEvents');
    },
});

url/Agenda/GetEvents/被正确调用并返回一个事件,但它不再显示在日历上。我做错了什么吗?

查看这里的文档以获取单一来源的事件。

完整日历

需要修改的地方很少。

$('#calendar').fullCalendar({
events: function(start, end, callback) {
    $.ajax({
        url: 'myxmlfeed.php',
        dataType: 'xml',
        data: {
            // our hypothetical feed requires UNIX timestamps
            start: Math.round(start.getTime() / 1000),
            end: Math.round(end.getTime() / 1000)
        },
        success: function(doc) {
            var events = [];
            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).attr('title'),
                    start: $(this).attr('start') // will be parsed
                });
            });
            callback(events);
        }
    });
}

});

解决方案很难找到,但我在这里找到了一个可行的方法

http://mikesmithdev.com/blog/jquery-full-calendar/

在阅读了几个小时的代码后,我发现了一个关于allDay选项的意外配置。每个事件必须有allDay=false,如下所示:

evts.push({ title: "Teste", start: "2014/01/18 10:30", end: "2014/01/18 13:00", allDay: false });
callback(evts);

删除回调函数,从成功块中调用
$('#calendar').fullCalendar('refetchEvents');

相关内容

  • 没有找到相关文章

最新更新