2014-10-09 61 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