我正在尝试动态呈现自定义事件以在页面上的fullcalendar上显示, 我从网址获取已存在的事件 $(。id).fullCalendar('addEventSource','呈现json的文件名');
但我对如何渲染新事件没有任何线索
答案 0 :(得分:7)
以下是使用default.html from demos文件夹的快速示例。我假设您创建一个事件将其保存到数据库并希望事件在日历上呈现。请参阅文档的这一部分:
http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/ http://arshaw.com/fullcalendar/docs/event_rendering/rerenderEvents/
此示例使用renderEvent。单击该按钮,将在日历上创建并呈现事件。
<!DOCTYPE html>
<html>
<head>
<link href='../fullcalendar/fullcalendar.css' rel='stylesheet' />
<link href='../fullcalendar/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../lib/jquery.min.js'></script>
<script src='../lib/jquery-ui.custom.min.js'></script>
<script src='../fullcalendar/fullcalendar.min.js'></script>
<script>
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#button_id').click(function() {
var newEvent = {
title: 'NEW EVENT',
start: new Date(y, m, d)
};
$('#calendar').fullCalendar( 'renderEvent', newEvent , 'stick');
});
$('#calendar').fullCalendar({
editable: true
});
});
</script>
<style>
body {
margin-top: 40px;
text-align: center;
font-size: 14px;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
}
#calendar {
width: 900px;
margin: 0 auto;
}
</style>
</head>
<body>
<button type="button" id="button_id" onClick=>Create new event</button>
<div id='calendar'></div>
</body>
</html>
答案 1 :(得分:1)
接受的答案是正确的。如果它对某人不起作用,您可以检查代码的位置。 $('#calendar').fullCalendar( 'renderEvent', newEvent, 'stick');
必须在您的初始.fullCalendar()调用之后。我挣扎了半个小时来弄清楚这一点:)