单击上一个/下一个并加载新数据

时间:2012-11-07 04:24:19

标签: fullcalendar

我有一个fullcalendar使用来自flatfile的json正常加载数据 我想在点击上一个/下一个时加载该月份文件中的每个月数据 使用ajax?事件:函数(开始,结束,回调)addEventSource - removeEventSource?其他?
允许jQuery仍在进行中。

更新: 我已经设定: viewDisplay:function(view){var next = view.title;警报(未来); }, 这给了我点击下一个/上一个月的月份 如何将其解析为json-events.php

我试过[拆分下一个]事件:“json-events.php?month = month”, 都能跟得上...

3 个答案:

答案 0 :(得分:1)

这不是使用php,但您可以在getCalData()中更改AJAX调用来执行此操作。 EventSource将填充下一个数据。

我希望这会有所帮助。

$(document).ready(function () {

var calendar = $('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'resourceMonth'
    },
    defaultView: 'resourceWeek',


    eventSources: [ getCalData() ],
    header: {
        left: 'prev,next today',
        center: 'title',
        right: ''
    },
    viewDisplay: function (view) {
        $('#calendar').fullCalendar('removeEvents');
        $('#calendar').fullCalendar('addEventSource', getCalData());
        $('#calendar').fullCalendar('rerenderEvents');
    }
  });
});


function getCalData() {

var source = [{}];
$.ajax({
    async: false,
    url: '/mysite/GetWeekData',
    data: { myParam: $('#calendar').fullCalendar('getView').visStart },
    success: function (data) {
        $(data).each(function () {
            source.push({
                title: $(this).attr('title'),
                start: $(this).attr('start'),
            });
        });
    },
    error: function () {
        alert('could not get the data');
    },
});
return source;
}

答案 1 :(得分:1)

您只需将View Render属性添加到fullcalendar的配置对象

即可
viewRender: function(view, element) {

 //console.debug("View Changed: ",view.start, view.end);

// events = loadevents();

 jQuery(nativeelement).fullCalendar('removeEvents');

 jQuery(nativeelement).fullCalendar('addEventSource', events);
 }

现在您可以逐月加载。 angular2

的语法

答案 2 :(得分:0)

fullcalendar默认情况下在获取事件时发送2个附加参数,params [:start],params [:end] 你可以使用它们来返回这两个值之间的查询事件