我在从数据库中导入事件时遇到了同样的问题。但我终于找到了解决办法。它基于 Raymond Camden 的 fullCalendar 插件,但不如他的插件复杂。你可以在这里找到原始插件http://www.raymondcamden.com/2011/6/17/FullCalendar-jQuery-Plugin
在此版本中,您必须添加一个额外的脚本以及完整日历所需的其余脚本。将其写在您想要日历的页面中。然后调用存储在 cfc 页面中的 cfcomponent(我的位于 components 文件夹内,名为 calendarEvents.cfc)。 cfc 用于从数据库中获取数据并将其转换为全日历事件所需的数组格式。
先在cfm页面调用日历
<div class="block">
<div class="navbar navbar-inner block-header"></div>
<div class="span10">
<div id='calendar'></div>
</div>
</div>
与 fullcalendar 所需的其余 javascript 导入一起,添加此脚本。在 fullcalendar 调用后写入。
$(document).ready(function() {
$("#calendar").fullCalendar({
//Formating
header: {
right: 'prev,next today',
left: 'title',
center: 'month,agendaWeek,agendaDay'
},
titleFormat: {
month: 'MMMM yyyy',
week: 'MMMM d[ yyyy] - {[ MMM] d, yyyy}',
day: 'dddd, MMMM dd, yyyy'
},
columnFormat: {
month: 'dddd',
week: 'dddd <br> MM/dd',
day: 'dddd, MMMM dd, yyyy'
},
timeFormat: {
'': 'H(:mm) TT \n '
},
//Click function to switch to daily agenda
dayClick: function(date, view) {
$('#calendar')
.fullCalendar('changeView', 'agendaDay')
.fullCalendar('gotoDate', date);
},
//Data Feed
events:'components/projectManagerEvents.cfc?method=getEvents&returnformat=json',
editable: false,
weekMode:'variable',
ignoreTimezone:false
});
});
现在是 cfc 页面。
component {
url.returnformat="json";
remote function getEvents()
{
var q=new query();
q.setDatasource("bugTracking");
q.setSQL("select projectName, estimatedEndDate from projects");
var dbresults=q.execute().getResult();
var results=[];
for(var i=1;i<= dbresults.recordCount;i++)
{
arrayAppend(results,{
"title"=dbresults.projectName[i],
"start"=dbresults.estimatedEndDate[i]
});
}
return results;
}
}
我希望这对某人有所帮助。