在Fullcalendar.js中显示事件的问题

时间:2016-02-11 15:23:05

标签: javascript jquery jquery-plugins fullcalendar asp.net-ajax

您好我正在尝试使用Asp.Net MVC实现FullCalendar.js。我显示空日历,但我的活动没有加载到日历中。

 $.ajax({
                type: 'Get',
                url: "/Matter/GetMatterEventsSummary",
                data: data,

                datatype: "Json",

                contentType: "application/json",
                success: function (doc) {
                    debugger;
                    $('#calendar').fullCalendar();
                    var events = [];
                    $(doc).find('[object Object],[object Object]').each(function () {
                        debugger;
                    events.push({

                            title: $(this).attr('title'),
                            start: $(this).attr('start') // will be parsed
                        });
                   // });
                    $('#calendar').fullCalendar('refetchEvents');
                  //  callback(events);
                }

            });

它涉及到成功方法,它有两个事件。但不知道为什么这些事件没有加载到FullCalendar中,也不知道这个日历没有自动进入。 我想它不会发生在events.push中。当我将鼠标悬停在doc上时,它会显示“[object Object],[object Object]”,并且它在[0]和[1]上有两条记录。

请帮助我。

1 个答案:

答案 0 :(得分:1)

尝试使用

$('#calendar').fullCalendar( 'rerenderEvents' )
事件结束后

另外,请确保正确使用官方文档中的代码。尝试以下(未经测试):

$('#calendar').fullCalendar({
  events: function(start, end, timezone, callback) {
    $.ajax({
        type: 'Get',
        url: "/Matter/GetMatterEventsSummary",
        data: data,
        datatype: "Json",
        contentType: "application/json",,
        success: function(doc) {
            var events = [];
            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).attr('title'),
                    start: $(this).attr('start') // will be parsed
                });
            });
            callback(events);
        }
    });
  }
});

如果您现在想要重新获取活动,请致电:

  $('#calendar').fullCalendar('refetchEvents');

必要时。

编辑: 由于您实际上是从JSON提要中提取数据,因此以下代码甚至可能就足够了:

$('#calendar').fullCalendar({
    events: '/Matter/GetMatterEventsSummary'
});

查看文档here

EDIT2:

要动态修改发送到后端的请求(取决于下拉列表或其他内容),可以按如下方式实现:

 var myValue = 10;

 $('#calendar').fullCalendar({
    events: '/Matter/GetMatterEventsSummary',
    data: function() { // a function that returns an object
        return {
            dynamic_value: myValue
        };
    }
});