簡體   English   中英

FullCalendar JS(沒有事件時添加事件)

[英]FullCalendar JS (Add event when there's no event)

我正在嘗試尋找一種方法來在特定日期甚至沒有活動時進行活動。

這樣的例子:

我已經繪制了日歷,但是有2天沒有任何活動。 因此,在那一天,我想添加一個顯示“已關閉”的事件。 我已經嘗試了多種方法,但是找不到可行的方法。

這是我現在的代碼:

$('#calendar').fullCalendar({
        editable: false,
        events: event,
        firstDay: 1,
        eventRender: function (event, element, view) {
            $(element).tooltip({ title: event.description });
            $(element).each(function () { $(this).addClass('dateClass-' + event.start.date().toString()); $(this).attr('date-num', event.start.date().toString()); });
            if (view.name == "month") {

                console.info("DATE: " + event.start.date().toString());

                /*$('.fc-month-view').find('.fc-day-number').each(function () {
                    CellDates.push($(this).text());
                    if ($('table').hasClass('.dateClass-' + $(this).text())) {
                        console.info("Got an event!");
                    } else {
                        console.info("No event on that day!");
                    }
                });*/

                for (var i = 0; i < 40; i++) {
                    if ($(element).hasClass('dateClass-' + i)) {
                        console.info("Event: " + event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString());
                    } else {
                        console.info("No Event: " + event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString());
                        var _date = event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString()
                        var _event = [{ "title": "Closed", "start" : _date}];
                        $('#calendar').fullCalendar('addEvent', _event)
                    }
                }

            }
        }
    });

它似乎不起作用...如果你們可以幫助我找到解決方案。 我需要在任何月份沒有任何活動的任何天關閉顯示。

非常感謝你的幫助!

我的方法是在View Render Callback中使用數組 代表當月的日子。 在頁面加載腳本中創建它。 在回調中將其重置。

calendarDays = [];

事件渲染回調中,我將查看每個事件並將數組中的相應位置設置為true。

calendarDays[event.date()] = true;

在“ 所有渲染后回叫事件”中,我將查看一個月中有多少天。 每天檢查陣列中的相應位置。 如果不存在,則表示您當天沒有活動,可以添加一個新活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM