限制fullcalendar中每天创建的事件数

时间:2016-02-23 06:25:13

标签: javascript jquery fullcalendar

我正在使用fullcalendar。我想将每天创建的事件数限制为每周4次。 我已经看过这个链接,但它没有多大帮助 stackoverflow question eventLimit选项仅限制显示的事件,但我希望在一周的视图中每天创建6个事件后停止创建事件。

2 个答案:

答案 0 :(得分:1)

试试这个。

select: function( start, end, jsEvent, view) {
    var eventCounter = 0;
    $('#calendar').fullCalendar('clientEvents', function(event) {
        if (start.format('YYYY-MM-DD') == event.start.format('YYYY-MM-DD')) {
            eventCounter++;
        }
    });
    if (eventCounter < 6) {
        // Code to create event
    }
}

这对我来说很适合。

答案 1 :(得分:0)

好的,深入挖掘并了解有关fullcalender的更多信息后,我就是这样做的。我必须说,这很容易。 `

var event_count=0;// to count the number of events starting from zero
	$(document).ready(function() {
	
		$('#calendar').fullCalendar({
			header: {
				left: 'prev,next today',
				center: 'title',
				right: 'month,agendaWeek,agendaDay'
			},
			defaultDate: '2016-01-12',
			editable: true,
			selectable: true,
			minTime: '09:00:00',
			maxTime: '18:00:00',
			columnFormat: 'dddd',
			eventLimit: true,
			select: function(start, end) {
					var eventData = {
						start: start,
						end: end
					};
				event_count+=1;//if the control is inside this function increment eventcount
				if(event_count<4){
                  //if the counter is less than four then do this
					$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
					$('#calendar').fullCalendar('unselect');
					}
			},
			eventClick: function(event){
				
			   $('#calendar').fullCalendar('removeEvents',event._id);
			   event_count-=event_count;//decrement event_count when event is removed
			},
			loading: function(bool) {
				$('#loading').toggle(bool);
			}
			
		});
		
		$('#view_calendar').on('shown.bs.modal', function () {
   		$("#calendar").fullCalendar('render');
		
});
		
	})

`