更改 FullCalendar jQuery 插件中的默认事件单元格视图
Change the default event cell view in FullCalendar jQuery plugin
也许是一个明显的问题,但我在 FullCalendar API、SO 和 google 上搜索没有结果。我想知道是否可以将每个事件的默认单元格视图更改为 FullCalendar?
例如,我的当前事件单元格仅显示我从数据 object 解析的时间和标题。当我尝试解析 object 中的更多数据时,我无法将它们显示到日历单元格中
events: [
{
title: 'All Day Event',
start: '2015-02-01'
morecontent : 'MORE CONTENT' // How to display this??
},
{
title: 'Long Event',
start: '2015-02-07',
end: '2015-02-10'
morecontent : 'MORE CONTENT' // and this??
}
];
到目前为止,您的 JSON(来自数据库)似乎正在创建您在上面提供的代码。如果是这样,那么 morecontent
中的任何内容都应该作为结果传递给您的 fullcalendar 对象。
测试使用:
eventClick: function(calEvent, jsEvent, view) {
console.log(calEvent);
}
您可以在 eventRender
期间更改单元格,该事件在呈现事件 (docs) 时触发。
类似下面的代码会找到该特定事件的标题,并将 html 替换为标题 + 更多内容:
eventRender: function(event, element) {
$(element).find('.fc-title').html(event.title + ', ' + event.morecontent);
}
这是一个工作版本:
$('#fullCal').fullCalendar({
events: [{
title: 'Random Event 1',
start: moment().add(-4, 'h'),
end: moment().add(-2, 'h'),
morecontent: 'Eat Pizza',
allDay: false
}, {
title: 'Random Event 2',
start: moment().add(1, 'd'),
end: moment().add(2, 'd'),
morecontent: 'Drink Coffee',
allDay: false
}, {
title: 'Random Event 3',
start: moment().add(6, 'd'),
end: moment().add(8, 'd'),
morecontent: 'Hackathon',
allDay: false
}],
header: {
left: '',
center: 'prev title next today',
right: ''
},
eventRender: function(event, element) {
$(element).find('.fc-title').html(event.title + ', ' + event.morecontent);
},
timezone: 'local'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.js"></script>
<div id="fullCal"></div>
也许是一个明显的问题,但我在 FullCalendar API、SO 和 google 上搜索没有结果。我想知道是否可以将每个事件的默认单元格视图更改为 FullCalendar?
例如,我的当前事件单元格仅显示我从数据 object 解析的时间和标题。当我尝试解析 object 中的更多数据时,我无法将它们显示到日历单元格中
events: [
{
title: 'All Day Event',
start: '2015-02-01'
morecontent : 'MORE CONTENT' // How to display this??
},
{
title: 'Long Event',
start: '2015-02-07',
end: '2015-02-10'
morecontent : 'MORE CONTENT' // and this??
}
];
到目前为止,您的 JSON(来自数据库)似乎正在创建您在上面提供的代码。如果是这样,那么 morecontent
中的任何内容都应该作为结果传递给您的 fullcalendar 对象。
测试使用:
eventClick: function(calEvent, jsEvent, view) {
console.log(calEvent);
}
您可以在 eventRender
期间更改单元格,该事件在呈现事件 (docs) 时触发。
类似下面的代码会找到该特定事件的标题,并将 html 替换为标题 + 更多内容:
eventRender: function(event, element) {
$(element).find('.fc-title').html(event.title + ', ' + event.morecontent);
}
这是一个工作版本:
$('#fullCal').fullCalendar({
events: [{
title: 'Random Event 1',
start: moment().add(-4, 'h'),
end: moment().add(-2, 'h'),
morecontent: 'Eat Pizza',
allDay: false
}, {
title: 'Random Event 2',
start: moment().add(1, 'd'),
end: moment().add(2, 'd'),
morecontent: 'Drink Coffee',
allDay: false
}, {
title: 'Random Event 3',
start: moment().add(6, 'd'),
end: moment().add(8, 'd'),
morecontent: 'Hackathon',
allDay: false
}],
header: {
left: '',
center: 'prev title next today',
right: ''
},
eventRender: function(event, element) {
$(element).find('.fc-title').html(event.title + ', ' + event.morecontent);
},
timezone: 'local'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.js"></script>
<div id="fullCal"></div>