有没有办法在FullCalendar jquery中执行此操作

时间:2015-03-16 17:34:30

标签: fullcalendar

您可以在4月12日至4月17日进行儿童艺术学校日的描述。它会在这个日期之间形成一个横跨这个"儿童艺术学校日"。你如何让每一天都像传统纸质日历一样展示。 4月12日说儿童艺术学校日" 4月13日"儿童艺术学校日" 4月14日说"儿童艺术学校日",..... ......都说同样的话?我可以在事件中做到这一点,比如

                'title': 'Kids Art School Day ',
                'start': '2015-04-13',
                'end': '2015-07-13',
                'color': '#FFFFFF',
                'textColor': '#3300FF'


                'title': 'Kids Art School Day ',
                'start': '2015-04-14',
                'end': '2015-07-14',
                'color': '#FFFFFF',
                'textColor': '#3300FF'

我做了一个范围,但他们希望它显示每个盒子相同的东西..打败我...想法?在日历中有很多...让这个json可读性太多了......

1 个答案:

答案 0 :(得分:0)

这不是直接支持的,所以解决方案有点棘手。

基本上,您在加载事件时将事件分解为单日事件。请使用function event source

events: function (start, end, timezone, callback) {
    //Get the events with an ajax call or whatever.
    //Here, they're just declared globally as 'events'
    var chunkedEvents = [];
    for (var i = 0; i < events.length; i++) {
        var days = moment(events[i].end).diff(events[i].start, 'days'); //length of event
        if (typeof events[i].end !== "undefined" && days > 0) {
            for (var j = 0; j <= days; j++) {
                chunkedEvents.push($.extend({}, events[i], {
                    start: moment(events[i].start).subtract(j, 'days'),
                    end: moment(events[i].end).subtract(days + j, 'days')
                }))
            }
        } else {
            chunkedEvents.push(events[i]);
        }
    }
    callback(chunkedEvents);
}

JSFiddle