Dav*_*uez 5 ajax jquery fullcalendar
我通过AJAX调用从服务器获取事件列表.我将"可编辑"选项设置为"true",但它仅适用于agendaDay和agendaWeek视图,而不适用于月视图.为什么?这是代码:
$('#calendar').fullCalendar({
header: {
right: "agendaDay,agendaWeek,month prev,next"
},
firstDay: 1,
fixedWeekCount: false,
contentHeight: 700,
timeFormat: "HH:mm",
displayEventEnd: {
month: false,
agendaWeek: false,
agendaDay: false,
'default':true
},
axisFormat: "HH:mm",
slotEventOverlap: false,
editable: true,
eventSources: [
{ // 1st group: Miscellanea
events: function(start,end,timezone,callback){
callAjax("Miscellanea",callback);
},
color: "#086A87",
},{ // 2nd group: project init
events: function(start,end,timezone,callback){
callAjax("Project",callback);
},
color: "#B40404"
}
]
});
Run Code Online (Sandbox Code Playgroud)
这是我的函数调用Ajax:
function callAjax(type,callback){
$.ajax({
type: "GET",
url: "/projects/{{project.id}}/get_events/",
dataType: "json",
data: {"data":type},
success: function(response){
data = eval("(" + response + ")")
var events = [];
for(i=0;i<data.length;i++){
events.push({
id: data[i].pk,
title: data[i].fields['title'],
start: data[i].fields['start'],
end: data[i].fields['end'],
className: "event",
defaultTimedEventDuration: "00:30:00"
});
}
callback(events);
}
});
}
Run Code Online (Sandbox Code Playgroud)
正如我之前所说,除了在月视图中调整大小外,所有工作都很好,我无法想象问题是什么.救命?
为了在月视图中调整事件的大小,必须将其设置为"allday"事件.要设置"allday"事件,从数据库获取事件时,必须区分它们.我在数据库中有一个名为allday的布尔列.然后,allday
根据值设置属性.这就是AJAX调用它们的区别:
function callAjax(type,callback){
$.ajax({
type: "GET",
url: "/projects/{{project.id}}/get_events/",
dataType: "json",
data: {"data":type},
success: function(response){
data = eval("(" + response + ")")
var events = [];
for(i=0;i<data.length;i++){
if(!data[i].fields['allday']){
events.push({
id: data[i].pk,
title: data[i].fields['title'],
start: data[i].fields['start'],
end: data[i].fields['end'],
className: "event",
defaultTimedEventDuration: "00:30:00"
});
}else{
events.push({
id: data[i].pk,
title: data[i].fields['title'],
start: data[i].fields['start'],
end: data[i].fields['end'],
allDay: true,
className: "event",
defaultTimedEventDuration: "00:30:00"
});
}
}
callback(events);
}
});
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,"Allday"事件在两天的0:00:00开始和结束.天不需要连续."Allday"活动可持续一天以上.这就是你可以调整大小的原因.
归档时间: |
|
查看次数: |
5562 次 |
最近记录: |