我想使用bootstrap模式加载模态对话框。在其中我想显示一个fullcalendar(jquery one),上面有一些事件。我创建了我的模态,并放入完整的日历。但是当模态出现时,完整日历不会显示。但它显示在模态出现后我按下下一个或上一个按钮。但是日历上没有任何事件显示。jsfiddle here 和代码
<a href="#myModal" role="button" class="btn btn-default" data-toggle="modal">Launch demo modal</a>
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-6">
<div id="calendar"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
JS
$("#calendar").fullCalendar({
header:{
left:'prev',
center:'title',
right:'next'
},
events:'/eventsfeed/',
defaultView:'agendaDay'
});
这也使事件不会出现在日历上。这是我/ eventsfeed返回的内容
[{"url": "/calendar/entry/223", "start": "2013-12-04T17:00:00Z", "end": "2013-10-04T16:45:00Z", "description": "a body", "title": "Title entry"}]
我在项目和事件的不同页面中使用fullcalendar,一切都正常呈现。
如何在模态出现时加载
答案 0 :(得分:38)
你应该试试这个:
$('#myModal').on('shown.bs.modal', function () {
$("#calendar").fullCalendar('render');
});
这是你的小提琴:http://jsfiddle.net/mzAEj/2/
答案 1 :(得分:0)
您可以使用这种方法。
加载.modal后,触发日历的MONTH,DAY或WEEK按钮。
$('.modal').focus(function(){
$('.fc-month-button').trigger('click');
});