Fullcalendar - >发送选定年份

时间:2018-03-13 15:02:15

标签: fullcalendar

我使用fullcalendar并希望将所选视图的 (不是当前视图)发送到页面“ajax_load_projektkalender.php”。

以下尝试会导致错误:

events: {
    url: 'ajax_load_projektkalender.php',
    type: 'POST',
    data: function() { // a function that returns an object
        return {
            projekte_key: $('#projekte_key').val(),
            aufgaben_key: $('#aufgaben_key').val(),
            sel_year: $('#calendar').fullCalendar('getView').start.format('Y'),
            urlaub_key: $('#urlaub_key').val(),
            termine_key: $('#termine_key').val()+'',
            gruppiert_key: $('#gruppiert_key').val(),
            bdauer_key: $('#bdauer_key').val()
        };
    },
    error: function() {
        alert('there was an error while fetching events!');
    },
    color: 'yellow',   // a non-ajax option
    textColor: 'black' // a non-ajax option
}

错误:TypeError:$(...)。fullCalendar(...)。start为null [Weitere Informationen]

我很无奈......有人可以给我建议吗?

丹尼尔

2 个答案:

答案 0 :(得分:1)

你有一个引导问题:你通过引用当前视图来定义日历的事件,但是在你定义日历的事件之前它将是空的...要打破循环,假设最初你想要显示当前年份,您可以写下如下内容:

data: function() {
  var current = $('#calendar').fullCalendar('getView').intervalStart
  var y = (current?current:moment()).format('Y')
  return {
    ...
    sel_year: y,
    ...
  }

我不确定你要做什么,但实际上我怀疑你根本不需要它,因为fullcalendar会自动向你的php服务器添加ajax请求参数“start”保持开始日期以ISO格式显示的句号(以及类似的“结束”参数)。您甚至可以使用例如

为参数指定替代名称
startParam: 'Anfang'

在您的日历对象中。

答案 1 :(得分:0)

尝试使用intervalStart而不是start。这应该可以解决错误,但我不确定它是否能解决您的问题。