日历后如何设置minTime
和maxTime
选项?
我尝试了以下方法,但不起作用:
$('#calendar').fullCalendar('option', 'minTime', 7);
$('#calendar').fullCalendar('render');
它是否仍然相关,但我可以使用以下语句更改选项:
可选示例:
$('#calendar').fullCalendar('getView').calendar.options.selectable = false;
$('#calendar').fullCalendar('render'); // rerender to see visual changes
虽然它不是动态的,但至少您不必销毁整个日历并重新获取您的事件:-)
通过这种方式,您可以更改任意数量的日历选项:
// save the calendar options in a variable
var calendarOptions = $('#calendar')
.fullCalendar('getView')
.options;
// make your changes to the calendar options
// I wanted to change the slotDuration
calendarOptions.slotDuration = '00:20:00';
// destroy the calendar
$('#calendar')
.fullCalendar('destroy');
//Lets load the calendar with the new options
$('#calendar')
.fullCalendar(calendarOptions);
希望这有帮助。谢谢。
此功能已在 v2.9.0 中正式发布: http://fullcalendar.io/docs/utilities/dynamic_options/
如果不重新创建日历,则无法完成。
更新:可以在 v 2.9 中完成:见下文
此功能在这里有一个未解决的问题:
https://code.google.com/p/fullcalendar/issues/detail?id=293
只是我,伙计的回答实际上是我找到自己的唯一方式。
这只是对前一个答案的补充:如果要更改可编辑选项(如果要锁定事件以在更新数据库之前要求确认更改,这将非常有用,这有点棘手。万一它可以为我转储代码的人节省一些时间:
var view = $('#calendar').fullCalendar('getView');
view.calendar.options.editable = false;
view.calendar.overrides.editable = false;
view.calendar.viewSpecCache.month.options.editable = false;
view.calendar.viewSpecCache.agendaWeek.options.editable = false;
view.calendar.viewSpecCache.agendaDay.options.editable = false;
$('#calendar').fullCalendar('render');
您显然将所有那些 false 更改为 true 才能解锁。
这段代码对我来说做得很好。在任何地方调用此函数并向其传递尽可能多的自定义变量,但不要忘记先销毁以前的日历
function initializeCalendar( timeIntervalCustom ) {
$('#calendar'+id).fullCalendar({
slotMinutes: timeIntervalCustom,
});
}
$('#calendar').fullCalendar("destroy");
initializeCalendar(10);