在更改输入元素时,动态地使用自定义数据呈现fullcalendar中的事件

时间:2013-10-26 07:04:33

标签: jquery html fullcalendar

我正在尝试动态呈现自定义事件以在页面上的fullcalendar上显示, 我从网址获取已存在的事件 $(。id).fullCalendar('addEventSource','呈现json的文件名');

但我对如何渲染新事件没有任何线索

2 个答案:

答案 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()调用之后。我挣扎了半个小时来弄清楚这一点:)