我想使用引导模式加载一个模式对话框。我想在里面展示一个完整的日历(jquery日历),上面有一些事件。我已经创建了我的模态,并放入完整的日历中。但当模式出现时,完整日历不会显示。但当模态出现后,它会显示我按下下一个或上一个按钮的时间。但是日历上没有出现任何事件并编码
<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,所有内容都正常呈现。
当模式出现时,我如何加载它
你应该试试这个:
$('#myModal').on('shown.bs.modal', function () {
$("#calendar").fullCalendar('render');
});
这是你的小提琴:http://jsfiddle.net/mzAEj/2/
以下是文档:http://arshaw.com/fullcalendar/docs/display/render/
FullCalender V4
在阅读文档时,您可以看到该命令已被弃用,
你必须调用calendar.render()才能有相同的行为
代码提取:
var calendarEl = document.getElementById('calendar');
var calendar = new Calendar(calendarEl, {
plugins: [ dayGridPlugin ]
});
calendar.render();
单据来源
您可以使用这种方法。
加载.modal后,触发日历的MONTH、DAY或WEEK按钮。
$('.modal').focus(function(){
$('.fc-month-button').trigger('click');
});