FullCalender check if selection days has an event?

依然范特西╮ 提交于 2019-12-22 12:36:40

问题


I am using the Full Calender js plugin, so far so good. but i want to check if a selection between the start and end has events?

I just need a true or false returned. Basically i want to stop users from creating events if an even already exists on the date selection.

var calendar = $('#calendar').fullCalendar({

    selectable: true,
    selectHelper: true,
    firstDay: 5,
    weekNumbers: false,
    select: function (start, end, allDay, event) {
        var TitleSet = false;
        StartDate = start;
        EndDate = end;
        if (event) {}
        if (TitleSet) {
            calendar.fullCalendar('renderEvent', {
                title: title,
                start: start,
                end: end,
                allDay: allDay
            },
            true // make the event "stick"
            );
        }
        calendar.fullCalendar('unselect');

    },
    editable: true,
    events: EventsArr,
    eventRender: function (event, element) {
        element.qtip({
            content: event.description
        });
    }
});

回答1:


I tried this methode and it looks fine

    // check if this day has an event before
    function IsDateHasEvent(date) {
        var allEvents = [];
        allEvents = $('#calendar').fullCalendar('clientEvents');
        var event = $.grep(allEvents, function (v) {
            return +v.start === +date;
        });
        return event.length > 0;
    }

then you can call it from dayclick event

    dayClick: function (date, allDay, jsEvent, view) {

        if (!IsDateHasEvent(date)) {
            selectedDate = date;
            $("#divAddNewAppointment").dialog("open");
        }
        else {
            $('<%= "#" + lblMessage.ClientID%>').html(" your error msg");
            $("#divMessage").dialog("open");
        }
    }



回答2:


You will need to create a method to get the array of events already loaded in calendar, after that use that array to get all days that have events and if user clicks on one of that dates don´t let create another event. This is something that only you can make and figure out, you will need to make an algorithm for yourself...

Check this clientEvents



来源:https://stackoverflow.com/questions/22067296/fullcalender-check-if-selection-days-has-an-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!