FullCalender检查选择日是否有事件?

我正在使用Full Calender js插件,到目前为止一直很好。 但我想检查开始和结束之间的选择是否有事件?

我只需要一个真或假的回归。 基本上我想阻止用户创建事件,如果日期选择已经存在甚至已经存在。

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 }); } }); 

我尝试了这种方法,它看起来很好

  // 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; } 

那么你可以从dayclick事件中调用它

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

您需要创建一个方法来获取已在日历中加载的事件数组,然后使用该数组获取具有事件的所有日期,如果用户单击其中一个日期,则不要创建另一个事件。 这是你只能制造和弄清楚的东西,你需要为自己制作算法……

检查此clientEvents