2010-08-04 5 views
37

Ich denke, das Fullcalendar jquery-plugin ist eine wirklich großartige Lösung. Allerdings habe ich festgestellt, das Plugin Escapes (htmlEscape) den Titel. Aber ich muss einige Zeichenfolgen im Titel formatieren, zum Beispiel Fettschrift, Farben oder kleine Bilder.HTML in Title String von Vollkalender jquery plugin

Die Lösung mit einem anderen Plugin (zum Beispiel qTip, wie in den Beispielen) wird nicht den richtigen Weg für mich arbeiten. Gibt es trotzdem den Titeltext zu formatieren?

+2

mehrere Beiträge der gleichen Frage Hinzufügen nicht Ihre Chancen helfen, eine Antwort zu finden :) http://stackoverflow.com/questions/3408723/display-more-text-in-vollkalender – Jake1164

+2

Nicht genau die gleichen Fragen. Es kann nützlich sein, zwei Fragen zu demselben Thema unterschiedlich zu stellen. Sie können einfach verwandt sein und erhöhen die Chancen für Suchende und Beantworter, einen von ihnen zu finden. –

Antwort

2

Ich endete so etwas zu tun, um einen Link neben der Zeit zu setzen. Etwas Ähnliches soll für den Titel arbeiten:

events: [ 
     <% @schedule.events.each do |event| %> 
     { 
     // Render your events here as needed 
     // I added a custom attribute called eventDeleteLink, to be used below 
     }, 
     <% end %> 
    ], 
    // Add this piece: 
    eventRender: function(event, element) { 
     element.find(".fc-event-time").append(" " + event.eventDeleteLink); 
    } 

Also diese nutzt jQuery append() einen Raum jeder einen Lösch Link nach dem Zeitpunkt hinzufügen und es funktioniert für grundlegenden Dinge in Ordnung.

Für was es nicht funktioniert hat (und ich würde gerne eine Lösung für, wenn jemand eine hat) ist Code mit verschachtelten Anführungszeichen oder Anführungszeichen enthalten. Zum Beispiel konnte ich keinen onClick-Trigger hinzufügen, weil in diesem Fall einfache Anführungszeichen in doppelten Anführungszeichen gebraucht werden. Ich konnte nicht herausfinden, wie ich ihnen entfliehen kann und nicht (was ich glaube) Vollkalender habe, ihnen zu entkommen.

Wie auch immer, für Basic-Text, das hat für mich funktioniert.

14

Um leicht alle HTML in Event-Titeln zu zeigen habe ich das verwendet, macht es sehr einfach.

eventRender: function (event, element) { 
    element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());   
} 

Welche http://code.google.com/p/fullcalendar/issues/detail?id=152

+0

dies funktioniert nur für die Monatsansicht –

+0

Füge ich das zur Instanziierung des Kalenders hinzu oder als eine Eigenschaft des Ereignisses, das ich rendere? –

50

hier gefunden wurde, tat ich dies statt wie die anderen Ansichten der gleichen Klasse, aber nicht Spannweiten verwenden und ich im Titel der Veranstaltung gezwungen, anstatt für den Text eine zusätzliche Anforderung stellt.

eventRender: function (event, element) { 
    element.find('.fc-event-title').html(event.title); 
} 

In v2 können Sie verwenden:

element.find('span.fc-title').html(element.find('span.fc-title').text()); 

Die span class fc-title ist als zu fc-event-title gegenüber.

Kredit zu j00lz für den Kommentar, der die Änderung bestätigt.

+1

Dies funktioniert für alle Ansichten Monat, Woche und Tag. Dies sollte die richtige Antwort sein. –

+1

Ich habe stattdessen 'eventAfterRender' verwendet, um das für FullCalendar 2.0.2 zu bekommen. – pierrea

15

Da die CSS-Klasse geändert hat, ist dies die richtige Antwort:

eventRender: function (event, element) { 
    element.find('.fc-title').html(event.title); 
} 
+0

funktioniert absolut in FullCalendar v2.6.1 – Ja8zyjits