我们有一个表单,它将事件数据插入到mysql表中,然后通过JSON提供fullcalendar。是否可以设置类别颜色,例如"假日"、"疾病"、"会议"?
我们当前的json是这样的,不确定如何为事件分配颜色?
$jsonArray = array();
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$id = $row['HolidayType'];
$title = $row['name'];
$start = $row['start'];
$end = $row['end'];
// Stores each database record to an array
$buildjson = array('title' => "$title", 'start' => "$start", 'end' => "$end", 'allDay' => false);
// Adds each array into the container array
array_push($jsonArray, $buildjson);
}
// Output the json formatted data so that the jQuery call can read it
echo json_encode($jsonArray);
问候
Gary
从文档颜色
设置事件的背景和边框颜色,就像日历范围的事件颜色选项一样。
$('#calendar').fullCalendar({
events: [
{
title : 'event1',
start : '2010-01-01',
color: 'red'
}
]
});
我在实现中做到这一点的方法是让两个或多个eventSources参见http://arshaw.com/fullcalendar/docs/event_data/Event_Source_Object/.每个eventSource都有自己的json提要,例如只返回会议,接下来只返回假期等。每个eventSource有自己的配色方案,使用color和textColor或backgroundColor、borderColor和textColor。HTH。
另一种在早期版本的FullCalendar上使用但仍然可以使用的方法是,在json提要中发送一个额外的param,其中包含一个用于为事件"着色"的css类。因此,任何假期都可以有"假期"课程、会议和"会议"课程等。
将颜色变量添加到json数组将更改所有事件的颜色。例如,如果您使用switch/case或嵌套ifelse为不同的事件分配不同的颜色,则不会发生这种情况,因为fullcalendar中的"color"变量将采用最后一个颜色值并将其分配给所有事件。