JQuery:FullCalendar 插件:事件不显示在周视图和日视图中,但显示在月视图中

问题描述 投票:0回答:4

我有以下代码来获取事件:

$('#calendar').fullCalendar({
主题:真实、
槽分钟:10,
标题:{
left: '上一个,下一个今天',
中心:'标题',
右:'月,议程周,议程日',
},
默认视图:'议程日',
allDaySlot: 假,
可编辑:假,
事件:“/cgi-bin/shlk/getshlkruns.pl”
});

getshlkruns.pl 的输出是相当简单的 json feed:

[{'title': '成功','start': 1266398223,'end': 1266398266,'url': '/shlk/cgi-bin/getshlkrunlog.pl?i=21'}]

有几个类似上面的事件(为了简洁起见,我已删除)。

因此,上述事件在月视图中会显示,但在周或日视图中却神秘地消失。

这里做错了什么?

提前感谢您的回答。

jquery plugins fullcalendar
4个回答
19
投票

我也遇到过这个问题。修复方法是确保 JSON 中返回的每个事件都包含设置为 false 的“allDay”名称/值对。

[{'title': 'Successful','allDay': false,'start': 1266398223,'end': 1266398266,'url': '/shlk/cgi-bin/getshlkrunlog.pl?i=21'}]

或者将 allDayDefault 设置为 false:

$('#calendar').fullCalendar({
    ...
allDayDefault: false,
    ...
});

11
投票

确保您不要表上有任何将溢出设置为隐藏的类。我犯了这个错误并浪费了时间。


table td { 
   overflow: hidden; //Remove this to fix the issue.
}


1
投票

还要确保事件长度必须足够,以便可以在 slotDuration 中显示。例如我的 slotDuration 是 15 分钟,我的活动仅在持续时间至少为 2 分钟时才会显示。


0
投票

在某些情况下,如果您使用自定义 CSS,如果在“月网格”视图中将

allDay
设置为
false
,则可能会更改事件的颜色。为了避免这种情况,我所做的就是更改事件 JSON,如下所示:

[{'title': 'Successful','allDay': currentView === 'dayGridMonth','start': 1266398223,'end': 1266398266,'url': '/shlk/cgi-bin/getshlkrunlog.pl?i=21'}]

其中

currentView
值随着我更改视图而变化。因此,如果
currentView
是 dayGridMonth,尽管有自定义 css,但事件看起来很正常,并且周视图和日视图也可以完美工作。

© www.soinside.com 2019 - 2024. All rights reserved.