FullCalendar:显示每个项目添加的总活动小时数

2022-06-26 00:00:00 jquery javascript fullcalendar

我正在使用Adam Shaw的FullCalendar和Knokoutjs。我可以添加、删除和拖放活动。在周模式和日模式中,我希望显示在该特定日期添加的事件的总小时数。

如果我删除、调整事件大小或移动事件,上述总时间应该会更改。

我已经通过按id计算并附加到DOM,从而使用了DOM操作。最初,我将其硬编码为0。这只适用于当前视图。如果我单击下一步并再次返回到以前的日期,它将重置为0。


解决方案

我已经在这里发布了我的问题的答案:fullcalendar: how to add total duration of all events for each day

您可以通过:

实现这一点
viewRender: function(view, element) {
  $.each($(".fc-day-top"), function(key, val) {
    var dateYMD = $(this).attr("data-date");
    $(this).append("<div class='fc-dailytotal' id='dailytotal-"+dateYMD+"'></div>");
  });
},

eventRender: function(event, element, view) {
    $(".fc-dailytotal").text(0); //Clear total sum
},

eventAfterRender: function(event, element, view) {
    var currentday = moment(event.start).format("YYYY-MM-DD");

    if (event.totalhrs > 0) {
      var prev = $("#dailytotal-"+currentday).text() || 0;
      $("#dailytotal-"+currentday).text(+prev + +event.totalhrs);
    }
}

相关文章