2012-04-26 17 views
11

Ich habe einen funktionierenden Vollkalender auf meiner Website, jedoch wird die tatsächliche Kalender Tabelle nicht angezeigt, bis Sie den Monat/das Jahr ändern oder wählen Sie "heute".jQuery FullCalendar nicht Rendering

Wenn ich auf die gerenderte Quelle schaue, sehe ich, dass das Div um den Tisch leer ist, bis ich einen Knopf drücke.

<div style="position: absolute; -moz-user-select: none;" class="fc-view fc-view-month fc-grid" unselectable="on"></div> 

Hat jemand eine Ahnung, warum das passiert?

Antwort

32

Haben Sie diesen Kalender in einer Registerkarte oder einem Dialog, der zunächst nicht sichtbar ist?

Wenn ja, müssen Sie den FullCalendar explizit anzeigen, wenn das Steuerelement aktiv ist.

Nehmen wir an, Sie verwenden das jQuery UI Tabs-Widget und haben den FullCalendar auf der zweiten Registerkarte (die ausgeblendet ist, bis die zweite Registerkarte ausgewählt ist). In diesem Fall könnten Sie beispielsweise Folgendes tun:

$('#tabs').tabs({ 
    show: function(event, ui) { 
     $('#calendar').fullCalendar('render'); 
    } 
}); 

Dadurch wird sichergestellt, dass der Kalender gerendert wird, wenn die Registerkarte angezeigt wird. Hoffe das hilft!

+0

Bingo, das hat funktioniert. Ich habe es nicht in den UI-Tabs, aber es ist in benutzerdefinierten Tabs, die ich gemacht habe. Ich habe versucht, es zu rendern, aber ich denke, ich habe diesen Code nicht an die richtige Stelle gesetzt. Vielen Dank! – ksumarine

+0

Das ist großartig! Würde es Ihnen etwas ausmachen, dies als Ihre Antwort zu akzeptieren? – ganeshk

+3

@Corey vergessen Sie nicht, eine Antwort zu akzeptieren, wenn es Ihr Problem löst. Sonst werden die Leute dir nicht mehr antworten ... –