jquery fullcalendar filtrage d'événements
Est il une méthode pour filtre dynamique des événements côté client dans fullcalendar?
Quand je reçois des événements à partir du serveur (json_encoded) - je céder mon propre paramètre "school_id" à chaque événement.
Après fullcalendar est prêt, je veux filtre dynamique des événements avec "select".
- Je ajouter ", sélectionnez" l'élément sur la page comme ceci:
<select id='school_selector'>
<option value='all'>All schools</option>
<option value='1'>school 1</option>
<option value='2'>school 2</option>
</select>
Et dans le code javascript-je ajouter:
jQuery("#school_selector").change(function(){
filter_id = $(this).val();
if (filter_id != 'all') {
var events = $('#mycalendar').fullCalendar( 'clientEvents', function(event) {
if((filter_id == 'all') ) {
return true;
}else{
//what I need to write here to dynamic filter events on calendar?
});
}
});
Mais ça ne fonctionne pas.
Toute aide sera grande.merci.
Vous devez vous connecter pour publier un commentaire.
Depuis la version 2 de fullCalendar vous pouvez utiliser le eventRender de rappel de manière sélective le rendu d'un événement. Combinez cela avec un appel à la rerenderEvents méthode dans votre onChange gestionnaire, et vos événements devrait automatiquement mise à jour en fonction de l'option sélectionnée.
JS:
HTML:
Ci-dessus, si l'SÉLECTIONNEZ la valeur est soit
'all'
ou correspond à laschool
propriété de laevent
objet, votre eventRender la fonction retourne true, et l'événement s'affiche. Sinon, il sera ignoré pendant le rendu.Cette méthode est supérieure à passer le filtrage des paramètres de votre source de l'événement, depuis que nécessite plusieurs allers-retours au serveur. Vous pouvez charger tous vos événements à la fois et utiliser eventRender à dynamiquement filtre à eux au moment de l'affichage.
SELECT
et après l'application de ce que vous avez écrit, il fonctionne un régal!! 🙂 MerciIl y a la solution. J'espère que cela contribuera à quelqu'un d'autre.
Vous pouvez définir l'objet, puis appelez l'actualisation de l'événement. De cette façon, il l'habitude de scintillement sur vous.
Test et éprouvée.
ajax pour son travail pour moi