如何在第一次初始化时将完整日历设置为特定的开始日期?

新手上路,请多包涵

我想在调用函数显示日历时将初始月份设置为任意月份。

例如,用户在其他地方选择了去年 6 月(2011 年 6 月)的日期,我希望 fullcalendar 显示之前的 4 月(2010 年 4 月)。是的,这只是为了证明,没有意义;-))

我尝试先调用“gotodate”,然后再调用显示函数,但这似乎不起作用

$('#calendar').fullCalendar( 'gotoDate', currentdate);
$('#calendar').fullCalendar({
    header: {left: 'prevYear,prev,today,next,nextYear',
         center: 'title', right: 'month,basicWeek,basicDay' etc...}

有人最终可以提供一个如何正确执行此操作的示例吗?

原文由 Stefan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 379
2 个回答

你有它倒退。先显示日历,再调用 gotoDate

 $('#calendar').fullCalendar({
  // Options
});

$('#calendar').fullCalendar('gotoDate', currentDate);

原文由 Brandon 发布,翻译遵循 CC BY-SA 3.0 许可协议

您应该在初始化时使用选项 ‘year’、’month’ 和 ‘date’ 来指定 fullcalendar 使用的初始日期值:

 $('#calendar').fullCalendar({
 year: 2012,
 month: 4,
 date: 25
});  // This will initialize for May 25th, 2012.

参见 fullcalendar.js 文件中的函数 setYMD(date,y,m,d) ;请注意,使用了 JavaScript setMonth、setDate 和 setFullYear 函数,因此您的月份值需要从 0 开始(Jan 为 0)。

更新:正如其他人在评论中指出的那样,现在正确的方法(编写此编辑时的 V3)是将 defaultDate 属性初始化为一个值

Moment 构造函数接受的任何内容,包括 ISO8601 日期字符串,如“2014-02-01”

因为它使用 Moment.js。 文档在这里

更新示例:

 $('#calendar').fullCalendar({
    defaultDate: "2012-05-25"
});  // This will initialize for May 25th, 2012.

更新:在 V5 中, defaultDate 参数已重命名为 initialDate

原文由 Jammerms 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题