2014-02-27 18 views
1

我使用的是Full Calender js插件,到目前爲止這麼好。但我想檢查一下開始和結束之間的選擇是否有事件?FullCalender檢查選擇日是否有事件?

我只需要返回true或false。基本上我想阻止用戶創建事件,如果日期選擇甚至已經存在。

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

確定你的事件存儲在哪裏?你有什麼嘗試?嘗試更加清晰,添加更多詳細信息... – CodeBird

+0

事件存儲在我的數據庫中,並被調用到數組中,事件:EventsArr – Pomster

+0

[可以防止衝突時間的事件嗎?](http://stackoverflow.com/問題/ 15800398/can-i-prevent-events-with-conflict-time) – MarCrazyness

回答

0

你需要創建一個方法來獲得已經加載日曆事件中的數組,之後使用該陣列來獲得具有事件,如果用戶點擊的是一個日期鴕鳥政策讓所有的日子創建另一個事件。這是東西,只有你自己才能和弄清楚,你將需要爲自己的算法...

入住這clientEvents

3

我想這梅索德,它看起來很好

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