2016-11-29 25 views
0

我想在FullCalendar中的日常事件中統計總數量,以便在LIMIT達到4後的任何特定日期內停止進一步的事件。FullCalendar計數每日客戶端事件的總數

這是我有什麼可以在日常事件時發揮作用,當它達到4但超過了qty

var eventCounter = 0; 

$('#calendar').fullCalendar('clientEvents', function(event) { 
    if(moment(start).format('YYYY-MM-DD HH:mm:ss') == event.start.format('YYYY-MM-DD HH:mm:ss')) { 
     eventCounter++; 
    } 
}); 

if(eventCounter < 4) { 
    $('#ModalAdd #start').val(moment(start).format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd #end').val(moment(end).format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd').modal('show'); 
} else { 
    swal({ 
     title: "Maximum Bookings", 
     text: "Sorry, the maximum number of bookings are taken for this day. Please select another date.", 
     type: "warning" 
    }); 
} 

我要的是event[]每天,而不是事件的qty計數。

事件數組示例;

events: [ 
    { 
     id: '233', 
     title: 'Tandem Jump', 
     qty: '4', 
     start: '2016-11-29 00:00:00', 
     end: '2016-11-29 00:00:00' 
    }, 
    { 
     id: '239', 
     title: 'Tandem Jump', 
     qty: '2', 
     start: '2016-11-30 00:00:00', 
     end: '2016-11-30 00:00:00' 
    }, 
] 

在此先感謝。

回答

0

我不知道這是否是你所需要的,但這樣會算一天點擊後的一天內的事件數量(以月視圖):

$('#calendar').fullCalendar({ 
    weekends: true, 
    defaultView: 'month', 
    allDaySlot: false, 
    header: { 
     left: 'month,agendaWeek,agendaDay,listDay', 
     center: 'title', 
     right: 'prev,next today' 
    }, 
    events: [{ 
     title: 'event 1', 
     start: '2016-12-05T16:00:00', 
     end: '2016-12-05T18:00:00' 
    }, { 
     title: 'event 2', 
     start: '2016-12-05T18:00:00', 
     end: '2016-12-05T20:00:00' 
    }, { 
     title: 'event 3', 
     start: '2016-12-07T16:00:00', 
     end: '2016-12-07T18:00:00' 
    }, { 
     title: 'event 7', 
     start: '2016-12-07T12:00:00', 
     end: '2016-12-07T14:00:00' 
    }, { 
     title: 'event 4', 
     start: '2016-12-07T11:00:00', 
     end: '2016-12-07T12:00:00' 
    }, { 
     title: 'event 5', 
     start: '2016-12-08T16:00:00', 
     end: '2016-12-08T18:00:00' 
    }], 
    height: 'auto', 
    editable: true, 
    dayClick: function(date, allDay, jsEvent, view) { 
     if (!allDay) { 
     // strip time information 
     date = new Date(date.getFullYear(), date.getMonth(), date.getDay()); 
     } 
     var ar = $('#calendar').fullCalendar('clientEvents', function(event) { 
     if (event.start.year() == date.year() && event.start.month() == date.month() && event.start.day() == date.day()) { 
      return true; 
     } 
     return false; 
     }); 
     console.log(ar.length); 
    } 
    }); 

https://jsfiddle.net/jzajf4e8/

希望這有助於
祝你好運
Krzysztof