2014-10-09 83 views
0

我有一種情況,我需要獲取日期以附加在每個事件url(對於事件url的我使用jQuery添加href attr)查詢字符串,但在檢查我發現eventClickeventRender的文檔不會返回事件顯示的單元格的日期。如何獲取日曆呈現日期時的日期單元格


我試圖谷歌,結果發現使用eventClick回調和使用頁X和Y,然後讓持有日期的數據屬性爲特定的細胞的日期,但

最近的元素棘手的解決方案
eventClick:function(event,jsEvent,view){ 
var clickedDate = $.nearest({x: jsEvent.pageX, y: jsEvent.pageY}, '.fc-day').attr('data-date'); 
alert(clickedDate); 
} 


但是,當我在同一日期單元格上有多個事件並且更多事件將顯示在彈出窗口中時,此解決方案失敗。

注:$.nearest是jQuery插件找到從給定的X最近的元素,Y志願服務崗位



注:我使用V2

+0

你就不能使用'event.start'? – MikeSmithDev 2014-10-09 16:03:09

+0

@MikeSmithDev在重複事件的情況下event.start對所有實例都是一樣的 – ravisoni 2014-10-10 15:07:36

回答

0

這是否爲你工作得好嗎?

http://jsfiddle.net/3E8nk/531/

$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    defaultDate: '2014-06-12', 
    editable: true, 
    eventRender: function(event, element, view) { 

     var start = event.start.clone().startOf('day'); 
     var end = event.end ? event.end.clone().endOf('day') : start.clone().endOf('day'); 

     //Known bug: We get all "touching" events and not just necessarily events on the day we clicked 

     var events = $('#calendar').fullCalendar('clientEvents'); 

     var touchingEvents = events.filter(function(event) { 
      var 
       eventStartWithin = event.start.isWithin(start, end), 
       eventEndWithin = event.end ? event.end.isWithin(start, end) : false; 
      return eventStartWithin || eventEndWithin; 
     }); 

     console.log(touchingEvents); 

    }, 
    events: [ 
     { 
      title: 'All Day Event', 
      start: '2014-06-01' 
     }, 
     { 
      title: 'Long Event', 
      start: '2014-06-07', 
      end: '2014-06-10' 
     }, 
     { 
      id: 999, 
      title: 'Repeating Event', 
      start: '2014-06-09T16:00:00' 
     }, 
     { 
      id: 999, 
      title: 'Repeating Event', 
      start: '2014-06-16T16:00:00' 
     }, 
     { 
      title: 'Meeting', 
      start: '2014-06-12T10:30:00', 
      end: '2014-06-12T12:30:00' 
     }, 
     { 
      title: 'Lunch', 
      start: '2014-06-12T12:00:00' 
     }, 
     { 
      title: 'Birthday Party', 
      start: '2014-06-13T07:00:00' 
     }, 
     { 
      title: 'Click for Google', 
      url: 'http://google.com/', 
      start: '2014-06-28' 
     } 
    ] 
}); 
+0

我正在考慮渲染fullcalendar的循環,它可以給我每個日期,那我需要附加到我的事件。 – ravisoni 2014-10-10 15:10:02

+0

你也可以改寫源代碼來告訴你這些信息。你是這個意思嗎?這不會很難我想 – 2014-10-10 15:12:08

+0

我感謝你的幫助!我從服務器端管理它..感謝您的幫助。 – ravisoni 2014-10-11 08:54:25