2017-04-24 46 views
0

我想知道什么是查看主月份的第一天和最后一天在fullcalendar。fullcalendar:我怎样才能得到相关的查看月份的第一天和最后一天(而不是前一个下个月的天数)

这里是有关本月看法:

enter image description here

 events: function (start, end, timezone, callback) { //custom events function to be called every time the view changes 
      alert (start.format()); 
      alert (end.format()); 
    }, 

当我运行于本月代码(2017年4月),我得到: start.format()= 2017-03- 26 end.format()= 2017年5月7日 ,我想获得的日期如下: 开始:2017年4月1日结束 :2017年4月30日

是没有任何方法,我在事件函数中获取这个日期?

千恩万谢

PS

我不喜欢用“showNonCurrentDates:假”选项

回答

2

有没有直接的方法以获得通过的“事件”回调这个值,但你可以使用稍差一点的解决方法:

viewRender回调使您可以访问当前视图的“视图”对象,该对象包含intervalStartintervalEnd属性(请参阅https://fullcalendar.io/docs/views/View_Object/),它们与视图试图表示的区间有关。从一个月来看,这将是本月的开始和结束。如果您将这些捕获到的范围比您的日历范围更高,那么您可以根据需要在事件和/或eventsAfterAllRender回调中重新使用它们。

var intervalStart, intervalEnd; //variables with higher scope level 

$('#calendar').fullCalendar({ 
    //...your options here... 
    viewRender: function (view, element) 
    { 
     intervalStart = view.intervalStart; 
     intervalEnd = view.intervalEnd; 
    }, 
    events: function(start, end, timezone, callback) { 
     console.log(intervalStart.format("YYYY-MM-DD")); 
     console.log(intervalEnd.format("YYYY-MM-DD")); 
     //...etc 
    } 
}); 

注意intervalEnd独家,所以如果当月是四月,intervalEnd将作为5月1日。

已经证明,尽管如前所述,使用内置的showNonCurrentDates:false选项似乎更加简洁。

+0

感谢。你建立了完整的日历吗? :) – codingnighter2000

+0

没有。我只是使用它很多,而且我对文档很熟悉。我相信这个人写的。 http://stackoverflow.com/users/96342/arshaw,但最近看起来他并不是最活跃的人。 – ADyson

+0

P.S.你能够“接受”答案,以及投票吗?我注意到你以前的任何问题都没有做过。查看http://stackoverflow.com/help/someone-answers了解如何做到这一点的信息(基本上,点击答案旁边的勾号!) – ADyson

0

添加此设置showNonCurrentDates: false,。使用此设置,不会显示不属于当前月份的日期。从你的事件回调当月和下个月的第一天的第一天将显示为startend分别再次

$('#calendarLoansByRequestDate').fullCalendar({ 
      // Other settings 
      showNonCurrentDates: false, 
      events: function (start, end, timezone, callback) { //custom events function to be called every time the view changes 
       alert(start.format()); 
       alert(end.format()); 
      } 
}); 
相关问题