嗨,我正在尝试使用 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中,并且在此日历之后也不会自动到来。我想它不会在事件中。当我将鼠标悬停在文档上时,它会显示"[对象对象],[对象对象]",并且其中在 [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'
});
查看此处的文档:
编辑2:
要动态修改发送到后端的请求(取决于下拉列表或其他内容),可以按如下方式实现:
var myValue = 10;
$('#calendar').fullCalendar({
events: '/Matter/GetMatterEventsSummary',
data: function() { // a function that returns an object
return {
dynamic_value: myValue
};
}
});