Ich versuche FullCalendar zu verwenden, um meine Ereignisse aus einem JSON-Feed anzuzeigen. Es funktioniert gut mit dem folgenden Code:Filterung von Ereignissen onclick mit FullCalendar und der removeEvents-Methode
$(document).ready(function() {
// Initialize calendar
$('#calendar').fullCalendar({
header: {
left: 'prev',
center: 'title',
right: 'next'
},
buttonText: {
prev: 'Previous month',
next: 'Next month'
},
columnFormat: {
month: 'dddd'
},
editable: false,
events: "events.json",
disableDragging: true,
});
Ich versuche, eine Verbindung zu schaffen, die die Ereignisse filtern werden mit der removeEvents Methode (im Idealfall wäre es ein Auswahlmenü sein). Wenn ich die Methode verwende und eine ID übergebe, wird das Ereignis entfernt. Die Dokumentation besagt:
idOrFilter kann auch eine Filterfunktion sein, die ein Event Object Argument akzeptiert und True zurückgibt, wenn es entfernt werden sollte.
ich gelesen, dass die Filterfunktion jQuery grep Methode arbeiten sollte genau wie, aber ich verstehe nicht, wie es zu implementieren. Ich habe angefangen, das unten zu schreiben, aber ich bin unsicher, wie ich weitermachen soll. Irgendwelche Vorschläge oder Beispiele würden sehr geschätzt werden! im select
und die Ereignisse im Kalender
...
$('#filter').click(function() {
$('#calendar').fullCalendar ('removeEvents', filter(events));
}
...
function filter (events) {
...
}
Hallo Andrew, deine Filterfunktion hat perfekt funktioniert. Vielen Dank! Wenn ich meine Ereignisse als Array in mein Javascript einfüge, filtern die Ereignisse und ich kann zwischen den Monaten hin und her wechseln, während der Filter intakt bleibt. Wenn ich jedoch versuche, eine URL für einen JSON-Feed anzugeben, funktioniert der Filter einwandfrei, aber wenn ich zu einem anderen Monat gehe und dann zurückkomme, werden alle Ereignisse neu geladen. Wissen Sie, wie Sie das umgehen können? –
Hey Andrew, ich habe eine andere verwandte Frage: Wie kann ich nur das ausgewählte Ereignis filtern?Gerade jetzt, wenn ich Weihnachten und dann Boxen filtere, fügt der Boxfilter dem vorhandenen Filter hinzu. Ich versuche, es nur nach einem Ereignis zu filtern. Ich habe versucht, zu renderevents während des Select-Menüs zu ändern (zusätzlich zum Aufruf der removeevents), aber kein Glück. Vielen Dank! –
@Manoj: Nach einigen Recherchen kann ich leider keine dieser beiden Probleme herausfinden. Die 'renderEvents'-Funktion sieht nicht so aus, als ob sie funktioniert, und ich habe keinen JSON-Feed, um dein anderes Problem zu testen ... –