Fullcalendar 在点击月份时间周等时获取当前视图
Fullcalendar get current view on click of month time week etc
每当事件触发时,我想知道日历的当前视图,比如它是 dayGridMonth
、timeGridWeek
、timeGridDay
还是 listWeek
。
我有一个 select 元素,我正在尝试更新日历上的活动。但是发生的事情是,如果我 select 列出视图并更改 select 菜单,那么整个日历将刷新为默认视图。我想将日历设置为与 selecting select 框之前相同的视图。
calendar_view_session: function(){
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: ['dayGrid', 'timeGrid', 'list', 'interaction'],
header: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
defaultDate: moment().format('YYYY-MM-DD'),//'2019-04-12',
navLinks: true,
defaultView: 'listWeek',
eventSources: [{
events: function (info, successCallback, failureCallback) {
console.log(info);
},
..........
}
],
..........
}
}
<select name="select_meetingtype" id="select_meetingtype" class="form-control">
<option value="">All Sessions</option>
<option value="free_session">Free Sessions</option>
<option value="weekly_session">Classes</option>
</select>
$('#select_meetingtype').on('change', function() {
_this.calendar_view_session(this.value)
});
console.log(info)
仅打印日期。
要抓取当前视图,试试这个:
const views = {day: 'timeGridDay', week: 'timeGridWeek', month: 'timeGridMonth', list: 'listWeek'};
var currentView = 'listWeek';
$('#calendar_container').delegate('.fc-toolbar-chunk button', 'click', function(){
currentView = views[$(this).text()];
calendar_view_session();// re-initialize calendar with current selectedView
})
calendar_view_session: function(){
var calendar = new FullCalendar.Calendar(calendarEl, {
//
//
defaultView: currentView,// use global var instead of static value
//
//etc.
这将使用当前视图而不是重新初始化您的日历
恢复为默认值。需要委派,因为整个日历在更新事件时会被销毁并重新创建。
每当事件触发时,我想知道日历的当前视图,比如它是 dayGridMonth
、timeGridWeek
、timeGridDay
还是 listWeek
。
我有一个 select 元素,我正在尝试更新日历上的活动。但是发生的事情是,如果我 select 列出视图并更改 select 菜单,那么整个日历将刷新为默认视图。我想将日历设置为与 selecting select 框之前相同的视图。
calendar_view_session: function(){
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: ['dayGrid', 'timeGrid', 'list', 'interaction'],
header: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
defaultDate: moment().format('YYYY-MM-DD'),//'2019-04-12',
navLinks: true,
defaultView: 'listWeek',
eventSources: [{
events: function (info, successCallback, failureCallback) {
console.log(info);
},
..........
}
],
..........
}
}
<select name="select_meetingtype" id="select_meetingtype" class="form-control">
<option value="">All Sessions</option>
<option value="free_session">Free Sessions</option>
<option value="weekly_session">Classes</option>
</select>
$('#select_meetingtype').on('change', function() {
_this.calendar_view_session(this.value)
});
console.log(info)
仅打印日期。
要抓取当前视图,试试这个:
const views = {day: 'timeGridDay', week: 'timeGridWeek', month: 'timeGridMonth', list: 'listWeek'};
var currentView = 'listWeek';
$('#calendar_container').delegate('.fc-toolbar-chunk button', 'click', function(){
currentView = views[$(this).text()];
calendar_view_session();// re-initialize calendar with current selectedView
})
calendar_view_session: function(){
var calendar = new FullCalendar.Calendar(calendarEl, {
//
//
defaultView: currentView,// use global var instead of static value
//
//etc.
这将使用当前视图而不是重新初始化您的日历 恢复为默认值。需要委派,因为整个日历在更新事件时会被销毁并重新创建。