Я использую календарь событий JavaScript. Настраиваемый и открытый исходный код. https://fullcalendar.io/
Можно ли установить максимум два события в день в fullcalendar?
Я знаю, что можно установить только одно событие.
Спасибо за ответы!
Обратный вызов eventReceive запускается, когда внешнее событие отбрасывается в календаре и отображается. Когда это произойдет, мы можем использовать метод «clientEvents», чтобы проверить, сколько событий уже присутствует в тот день, когда было отключено внешнее событие, и принять решение о том, удалить его из календаря.
eventReceive: function(event) { var newEventDay = event.start.startOf('day'); var existingEvents = $("#calendar").fullCalendar("clientEvents", function(evt) { //this callback will run once for each existing event on the current calendar view //if the event has the same start date as the new event, include it in the returned list (to be counted) if (evt.start.startOf('day').isSame(newEventDay)) { return true; } else { return false; } }); //if this new event means there are now more than 2 events on that day, remove this new event again (NB we must do it like this because by this point the event has already been rendered on the calendar) if (existingEvents.length > 2) $("#calendar").fullCalendar("removeEvents", function(evt) { if (evt == event) return true; }); }
NB Это предполагает, что события, которые вы перетаскиваете, не охватывают более одного дня. Если они могут, вам нужно немного изменить этот код и привести дату окончания в уравнение.
Здесь вы можете увидеть рабочий пример: http://jsfiddle.net/Lfm1odm1/2/