0

好的,我正在使用 Adam Shaw 的 FullCalendar,它真的很棒……我想充分利用它的功能。行。我的问题是我无法制作 2 个事件资源,即存储在我的页面中的静态 JSON 数据window.initial_task_items和另一个是 jquery.ajax 函数。

eventSources: [{
            //static events
            events: window.initial_task_items},
        { //ajax fetching
            events: function(start, end, callback) {
                if (window.task_calendar_firstrun == true) {
                    window.task_calendar_firstrun = false;
                }
                else if (window.task_calendar_firstrun == false) {
                    window.AjaxRegistry["gettasks"] = $.ajax({
                        url: window.cvars.userburl + "gettasks",
                        type: "GET",
                        dataType: 'json',
                        data: {
                            procdate: new XDate($('#task-full-calendar').fullCalendar('getDate')).toString("yyyy-MM-dd"),
                            user_hash: window.cvars.acuserhash
                        },
                        beforeSend: function() {

                        },
                        success: function(rsp) {
                            $('#task-full-calendar').fullCalendar('removeEvents');
                            var events = [];
                            $.each(rsp, function(i, task) {
                                events.push({
                                    start: task.start,
                                    end: task.end,
                                    allDay: task.allDay,
                                    title: task.title,
                                    color: task.color
                                });
                            });
                            callback(events);
                        },
                        error: function(ex) {
                            alert("error occured");
                        },
                        complete: function(obj, rsptype) {

                        }
                    });
                }
            }}]

现在我最近测试了上面的代码,但这不起作用。唯一有效的是当我单击完整日历中的上一个和下一个按钮时的 ajax 请求,但未呈现静态 JSON 中的数据。

无论如何我可以使这两个事件资源工作吗?

注意: 我想加载我的页面,该页面已经呈现了在看到页面时显示的月份的任务。

4

1 回答 1

1

好吧,也许我不太了解您的问题,但是处理您的目的的方法是这样的。

您必须在 eventsources 选项中传递所有“源”(静态和动态),而不是像您那样“覆盖”事件:

eventSources: [
     // 1. event source
     array_of_static_events
     // 2. event source
     , { 
         url: "/getevents"
         data: { param1: "test" }
         error: function(){ alert("error"); }
     }
] // end of eventSources

一切都在相关的远程事件事件对象中有详细描述。

这是一个运行示例,其中混合了全日历事件的静态和远程源。

于 2012-05-25T11:16:14.840 回答