2015-03-21 10 views
5

Próbuję utworzyć funkcję kalendarza, w której użytkownik może zablokować wiele zakresów dat, wybierając datę początkową i końcową. Myślałem o użyciu FullCalendar, ale nie jestem pewien, jak to zrobić.Jak wybrać wiele zakresów dat z Fullcalendar?

Widziałem kilka przykładów blokowania wybranych dat przez dodanie mojego czeku na dayClick, ale te nie dotyczą zakresów dat. Byłbym wdzięczny za każdą pomoc, tak naprawdę nie szukam całego źródła, ale pewne sugestie, jak to zrobić.

Odpowiedz

13

Jest to problem wieloczęściowy. Oto podstawowy pomysł.

Coś podobnego do tego JSFiddle.

selectable: true, 
select: function (start, end, jsEvent, view) { 
    $("#calendar").fullCalendar('addEventSource', [{ 
     start: start, 
     end: end, 
     rendering: 'background', 
     block: true, 
    }, ]); 
    $("#calendar").fullCalendar("unselect"); 
}, 
selectOverlap: function(event) { 
    return ! event.block; 
} 

Wydarzenia w tle są opcjonalne, ale zazwyczaj jest to pożądane (wizualnie).

Jeśli wymagane jest przeciąganie i upuszczanie utworzonych zdarzeń, można również użyć funkcji selectOverlap w eventOverlap.

+0

Wow. To więcej, niż się spodziewałem. Bardzo dziękuję za Twoją pomoc! –

+0

Chciałem tylko opublikować górną część, ale wtedy zdałem sobie sprawę, że już miałem skrzypce, którego brakowało tylko 3 linijki. – slicedtoad

+0

Jeśli mogę zapytać, po prostu próbowałem dodać 'unselect: true', aby pozwolić użytkownikom odznaczać zakresy dat, nie rozpoznaje tego. Czy musimy przekazać coś w rodzaju callbacka? –

Powiązane problemy