拉下一个月/上个月的数据

时间:2010-08-11 18:57:28

标签: jquery fullcalendar

我正在查看正在查看的月份的Fullcalendar数据。当我单击Next / Prev Month视图按钮时,它不会熄灭并获取新月的新数据。

如何让Next / Prev按钮再次拨打数据库并拉出当月的记录?

3 个答案:

答案 0 :(得分:3)

定义事件回调以向api发出ajax请求。请参阅文档here。这是一个与我的api集成的示例,它使用epoch start和end作为查找中的get参数。

$('#calendar').fullCalendar({
    // other options here...

    events: function(start, end, callback) {
        start = start.getTime()/1000;
        end = end.getTime()/1000;
        $.ajax({
            url: '/api/events/1/?start='+ start + '&end=' + end,
            dataType: 'json',
            success: function(doc) {
                var my_events = [];
                $.each(doc.person.events, function (index, elem) {
                   my_events.push({
                       title: elem.event.title,
                       start: elem.event.start,
                       end: elem.event.end,
                   });
                });
            callback(my_events);
          }
        });
    }
});

在我的实际代码中(这是一个精简版本)我使用ajax请求做了更多。您还可以使用fullcalendar的json feed events来简化此操作,该docs将为您传递开始和结束纪元日期获取参数。例如:

$('#calendar').fullCalendar({
    events: "/api/events/1/"
});

这两种解决方案都会对您的服务器进行api调用,例如http://yourwebsite.com/api/events/1/?start=123454444&end=12355324234,因此您需要设置服务器以便对其进行适当的处​​理。

注意:如果您想知道,这些网址中的“1”用于标识用于获取事件的用户的ID。

fullcalendar的{{3}}非常棒,阅读它们,然后再次阅读它们。

答案 1 :(得分:0)

您需要告诉控件在初始化时从何处加载事件数据。您可以选择指定要编写的a json feedan array of eventsa function,这将检索所有事件。

如果使用函数或json方法,则fullcalendar控件将仅尝试加载用户尝试查看的范围的数据。因此,当用户导航到下个月时,将从Feed /函数中检索该月份事件。

答案 2 :(得分:0)

我写了一篇关于sdolan答案的变体。这个例子在这里:

jquery fullcalendar: calling events on clicking prev and next button in fullcalendar