我看到有一个请求,添加一个更多的链接,日历和限制事件的数量。这完成了吗?或者是否有人实施了自己的解决方案,他们可以分享?如果是这样,请发布您的代码。FullCalendar限制事件数量,并有一个更多链接
4
A
回答
0
它看起来像fullcalendar google code page上的此功能有一个开放的“增强”票证。如果您明确表示该问题,则会通知您有关该功能的任何更新。
此外,在该线程中,有人发布了一个解决方案的尝试。我没有尝试过,但可能值得一看。查看该特定评论here。
6
我最近写了一个插件,完全按照你的要求。希望fullcalendar的开发者Adam Shaw能够链接到它,或者将这个增强插件包含在fullcalendar内核中。
看看它,让我知道你在想什么。请报告任何错误。 https://github.com/lyconic/fullcalendar.viewmore
感谢
0
如果任何人有相同的问题阅读:
如果PHP/MySQL是用来从数据库获取事件:
先手开始日期戳和结束日期戳月份。
然后用简单的for循环
$allEvents = array();
for ($i = $start; $i <= $end; $i = strtotime("+ 1 day", $i)) {
//need to have start and end dates to be the same day but end day must be at 23:59:59
$newStart = $i;
$newEnd = strtotime("+ 23 hours 59 minutes 59 seconds", $newStart);
$limit = 10;
//load all events with limit whatever limit you wish and merge with all events
$loadedEvents = loadEvents($newStart, $newEnd, $limit, $otheroptions);
$allEvents = array_merge($allEvents, $loadedEvents);
}
,然后你可以使用$allEvents
阵列显示事件。它为我工作,每天最多显示10个事件。
1
我在eventRender上处理这个。代码是这样的,maxEvents
是你想要设置的最大值,而BuildMoreLink(currentMoreNum)
可以建立你的链接。返回false可防止将项目添加到日历中。
eventRender: function (event, element) {
var eventDateString = GetDateInCalFormat(event.start);
var $calDay = $('td.fc-day[data-date="' + eventDateString + '"]');
var dayEventCount = $calDay.attr('dayEventCount') ? parseInt($calDay.attr('dayEventCount')) : 0;
dayEventCount = dayEventCount + 1;
$calDay.attr('dayEventCount', dayEventCount);
if (dayEventCount <= maxEvents) {
//[any custom formatting]
}
else {
var missingEvents = dayEventCount - maxEvents;
$('.moreLink', $calDay).remove();
$moreLink = $('<div class="moreLink"/>')
$moreLink.html(BuildMoreLink(missingEvents));
$calDay.append($moreLink);
return false;
}
}
噢,这里是我的得到正确的日期值找了一天格式化:
function GetDateInCalFormat(dateToFormat) {
dd = dateToFormat.getDate();
mm = dateToFormat.getMonth() + 1;
yyyy = dateToFormat.getFullYear();
if (dd < 10) { dd = '0' + dd }
if (mm < 10) { mm = '0' + mm }
results = yyyy + '-' + mm + '-' + dd;
return results;
}
7
有了新的版本V2.1.0-β2启动11天以前Arshaw做的以下
解决的问题:
- 最大事件与“更多...“链接(304)
- 火不要eventMouseover/eventMouseout同时拖动/缩放(1297)
新的选项:
- eventLimit
- eventLimitClick
- eventLimitText
- dayPopoverFormat
所以,你可以做到以下几点:
$('#calendar').fullCalendar({
lang: 'en',
eventLimit: true, // If you set a number it will hide the itens
eventLimitText: "Something" // Default is `more` (or "more" in the lang you pick in the option)
});
你可以只用'event.start.format( “YYYY-MM-DD”)'代替该功能 – 2014-08-21 16:54:48
@MichelAyres不与标准js – jumpdart 2014-08-21 22:20:15
使用moment.js你可以(现在需要完整的日历) – 2014-08-21 22:48:04