Javascript 如何重新绘制完整日历视图?
我知道如何初始化FullCalendar视图,特别是当我的页面加载时,我会:Javascript 如何重新绘制完整日历视图?,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我知道如何初始化FullCalendar视图,特别是当我的页面加载时,我会: $('#calendar').fullCalendar({ 'defaultView': 'multiColAgendaWeek', 'height': BackendCalendar.getCalendarHeight(), 'editable': true, 'firstDay': 1, // Monday 'slotMinutes':
$('#calendar').fullCalendar({
'defaultView': 'multiColAgendaWeek',
'height': BackendCalendar.getCalendarHeight(),
'editable': true,
'firstDay': 1, // Monday
'slotMinutes': 30,
'snapMinutes': 15,
'axisFormat': 'HH:mm',
'timeFormat': 'HH:mm{ - HH:mm}',
'allDayText': EALang['all_day'],
'columnFormat':
{
'month': 'ddd',
'week': 'ddd D',
'day': 'dddd'
},
'titleFormat':
{
'month': 'MMMM YYYY',
'week': "MMM D YYYY",
'day': 'MMMM D YYYY'
},
'header':
{
'left': 'prev,next today',
'center': 'title',
'right': 'multiColAgendaDay,multiColAgendaWeek,month'
},
'views':
{
'multiColAgendaDay':
{
'type': 'multiColAgenda',
'duration': { days: 1},
'columns':
[
{ id:1, name: 'Op1' },
{ id:2, name: 'Op2' }
]
},
'multiColAgendaWeek':
{
'type': 'multiColAgenda',
'duration': { weeks: 1 },
'columns': [
{ id: 1, name: 'Op1' },
{ id: 2, name: 'Op2' }
]
}
},
我正在使用这个扩展:它添加了资源支持。无论如何,我要做的是通过代码更改columns参数的内容。columns
属性位于两个可用视图multiclagenday
和multiclagendaweek
中。我有一个方法,用所有可用的约会填充日历,这个方法不会重新加载页面,因为使用ajax请求。所有工作正常,但我想在此方法中添加可用列的重画,特别是在所有重画日历视图顶部的填充方法中:
$('#calendar').fullCalendar({
views:
{
'multiColAgendaDay':
{
'type': 'multiColAgenda',
'duration': { days: 1 },
'columns':
[
{ id: 1, name: 'First Column' },
{ id: 2, name: 'Second Column' }
]
}
},
'multiColAgendaWeek':
{
'type': 'multiColAgenda',
'duration': { weeks: 1 },
'columns':
[
{ id: 1, name: 'First Column' },
{ id: 2, name: 'Second Column' }
]
}
});
问题是日历没有重新绘制,执行此代码后,结果如下所示:
我不知道我做错了什么,如果不重新加载页面,日历可能无法重新绘制视图?如何修复此问题?在某些情况下,渲染将无法工作。我有这样的问题,所以我做了一个单独的方法。在我的例子中,我在每次刷新时都会传递Json数组,因此,我首先调用该方法来获取数组,然后添加以下行:
$("#calendar").fullCalendar('destroy');
然后创建日历实例并将Json数组传递给事件。您是否尝试过使用
$(“#calendar')显式重画。fullCalendar('render')
?不,我没有尝试使用renderSo执行渲染
操作?目前我已经解决了在日历初始化中设置运算符的问题