我们使用的是jquery fullcalendar v2。我需要根据日历视图的开始日期设置MonthView的defaultDate。
- 向用户显示MonthView日历。(2014年10月)
- 单击日期将重定向到详细信息页面,用户可以在其中输入该特定日期的数据。(详情页)
- 当用户从详细信息页面单击"取消"时,需要将他们重定向到日历,其中包含他们在进入此详细信息页面之前的默认月份。(2014年10月复出)
为此,我可以获得视图的开始日期(即calView.start),即2014年9月28日。当我将这个特定的值传递给defaultView时,它显示九月为默认月份,但我需要显示2014年10月为默认月份。
$('#calendar').fullCalendar({
theme: true,
editable: true,
disableDragging: true,
disableResizing: true,
defaultDate: calView.start
这在以前的版本中运行良好,当时我们设置如下:
$('#calendar').fullCalendar({
theme: true,
editable: true,
disableDragging: true,
disableResizing: true,
date: calView.start.getDate(),
month: calView.start.getMonth(),
year: calView.start.getFullYear(),
有人能告诉我我们是否需要以不同的方式处理吗?
编辑
问题可能是,您得到的是渲染的第一天开始,而不是一个月的第一天。
我引用文件;"在月份视图中,此值通常在该月的第一天之前"。
简单修复
请改用intervalStart
。
另一个解决方案
我通过获取用户点击离开的日期来解决这个问题
var lastDate = $('#calendar').fullCalendar('getDate');
然后当我想再次渲染它时,将其交给fullcalendar:
$('#calendar').fullCalendar({
defaultDate: lastDate
...
});
如果你的应用程序不是单页的,那么你需要将日期保存在本地存储、会话存储或其他地方。