FullCalendar 2.1.1不显示事件

时间:2014-09-20 22:37:24

标签: javascript jquery fullcalendar

我已在我的应用程序中配置了FullCalendar版本2.1.1,但它根本没有显示事件,我搜索了很多,但无法解决问题。

这是我的代码:

$("#fullcalendar").fullCalendar({
    "allDayDefault": false
    , "allDaySlot": false
    , "defaultView": "agendaWeek"
    , "editable": true
    , "eventClick": function(event, jsEvent, view) {
        $("#data_inicial_evento").val(event.start.format("DD/MM/YYYY"));
        $("#hora_inicial_evento").val(event.start.format("HH:mm"));

        if (event.end) {
            $("#data_final_evento").val(event.end.format("DD/MM/YYYY"));
            $("#hora_final_evento").val(event.end.format("HH:mm"));
        } else {
            $("#data_final_evento").val(event.start.format("DD/MM/YYYY"));
            $("#hora_final_evento").val(event.start.format("HH:mm"));
        }

        $("#titulo_evento").val(event.title);
        $("#categoria_evento").val(event.categoria);
        $("#form_editar_evento").attr("action", "{{ baseRoute }}/cadastro/evento/editar/" + event.id);
        $("#apagar_evento").attr("data-idEvento", event.id);
        $("#conteiner_form_editar_evento").dialog("open");
    }
    , "eventDrop": function(event, delta, revertFunc, jsEvent, ui, view) {
        $.post(
            "{{ baseRoute }}/cadastro/evento/alterarEventoAjaxUI"
            , {
                "idEvento": event.id
                , "dayDelta": delta.asDays()
                , "minuteDelta": delta.asMinutes()
                , "evento": "dragndrop"
            }
        ).done(function(data) {
            var obj = $.parseJSON(data);
            if (!obj.result) {
                revertFunc();
            }
        }).fail(function() {
            revertFunc();
        });
    }
    , "eventResize": function(event, delta, revertFunc, jsEvent, ui, view) {
        $.post(
            "{{ baseRoute }}/cadastro/evento/alterarEventoAjaxUI"
            , {
                "idEvento": event.id
                , "dayDelta": delta.asDays()
                , "minuteDelta": delta.asMinutes()
                , "evento": "resize"
            }
        ).done(function(data) {
            var obj = $.parseJSON(data);
            if (!obj.result) {
                revertFunc();
            }
        }).fail(function() {
            revertFunc();
        });
    }
    , "events": "{{ baseRoute }}/cadastro/evento/listarEventosAjaxUI"
    , "header": {
        "left": "prev,next today"
        , "center": "title"
        , "right": "month,agendaWeek,agendaDay"
    }
    , "select": function(start, end, jsEvent, view) {
        var dataEvento;

        // se for um evento de dia inteiro
        if (view.name === "month") {
            if (end.diff(start, 'days') > 1) {
                dataEvento = start.format("dddd, DD/MM/YYYY") + " ";
                dataEvento += "<br />até<br />";
                dataEvento += end.clone().subtract(1, 'days').format("dddd, DD/MM/YYYY");
            } else {
                dataEvento = start.format("dddd, DD/MM/YYYY");
            }
        } else {
            dataEvento = start.format("dddd, DD/MM/YYYY HH:mm") + " - ";
            dataEvento += end.format("HH:mm");
        }

        $("#data_inicial_novo_evento").val(start.format("DD/MM/YYYY"));
        $("#hora_inicial_novo_evento").val(start.format("HH:mm"));
        $("#data_final_novo_evento").val(end.format("DD/MM/YYYY"));
        $("#hora_final_novo_evento").val(end.format("HH:MM"));
        $("#span_data_novo_evento").html(dataEvento);
        $("#conteiner_form_novo_evento").dialog("open");
    }
    , "selectHelper": true
    , "selectable": true
    , "timezone": "local"
});

以下是我从json源获取事件数据的方法:

[
    {
        "title":"agendas"
        ,"start":1407409200
        ,"end":1407416400
        ,"id":16
        ,"allDay":false
        ,"usuario":"anderson"
        ,"categoria":13
    }
    ,{
        "title":"culto"
        ,"start":1407085200
        ,"end":1407094200
        ,"id":17
        ,"allDay":false
        ,"usuario":"anderson"
        ,"categoria":9
    }
    // and so on...
]

我真的无法弄清楚出了什么问题:(

1 个答案:

答案 0 :(得分:1)

您的startend参数是时间戳。 FullCalendar documentation of startParam states

  

此名称的参数将发送到每个JSON事件订阅源。它描述了获取间隔的开始。

     

String,默认:'start'

     

此参数的实际值为ISO8601日期字符串

维基百科有关于ISO 8601的详细信息,因此您的参数应具有以下格式之一:

  1. 2014年9月22日
  2. 2014-09-22 15:00:00
  3. 2014-09-21T13:00:00Z