rerenderEvents / refetchEvents problème
Je ne suis pas sûr si je suis en utilisant correctement donc mon problème est peut-être mon mal de la compréhension plutôt que d'un bug ou problème plus vaste.
J'ai un fullcalendar qui est initié à partir de doc prêt comme ça (un peu de code à gauche pour des raisons de concision).
function renderEvents() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var technicians = $("div[ID*='ucTechnicians'] :hidden").val();
var calendar = $('#calendar').fullCalendar({
...
events: "JsonResponse.ashx?technicians=" + technicians,
...
}
La réponse json page réussi renvoie les événements filtrés par la choisi technicien sur la charge initiale. Sur la page principale est une commande pour modifier les techniciens de l'utilisateur veut les voir sur le calendrier. Je ne peux pas obtenir le calendrier de re-rendre et de passer les techniciens param pour le json reposne fichier.
De clic de bouton, j'ai essayé d'appeler renderEvents() de nouveau. Cela met un calendrier en double sur la page. J'ai essayé $('#agenda").('détruire') avant d'appeler renderEvents(). Cela fonctionne, mais si je suis dans un mode autre par défaut, l'affichage du mois, il sera toujours de réinitialisation et de destruction reconstruction du calendrier ressemble à beaucoup de travail pour un rafraîchissement.
J'ai aussi essayé $('#agenda").('rerenderEvents') et $('#agenda").('refetchEvents'). J'ai même essayé de réinitialiser la source $('#agenda").fullCalendar('addEventSource', 'JsonResponse.ashx?techniciens=' + techniciens) à l'avance.
Dans le dernier cas, je suis en mesure de regarder la réponse json en debug et il ramasse sur le filtre de paramètre et renvoie les résultats filtrés par les derniers paramètres, mais le calendrier sur la page ne s'actualise pas avec les nouvelles valeurs.
Comment puis-je faire le calendrier d'actualisation avec les nouveaux paramètres?
Merci d'avance.
OriginalL'auteur user203947 | 2011-01-10
Vous devez vous connecter pour publier un commentaire.
Pseudo, supprimer des événements anciens, ajouter une nouvelle source de l'événement, puis récupère à nouveau des événements (à partir de la seule source, ce qui est maintenant la nouvelle source):
$('#agenda").fullCalendar('removeEvents')
$('#agenda").fullCalendar('addEventSource', 'JsonResponse.ashx?techniciens=' + techniciens)
EDIT: au Lieu de:
Puis récupère à nouveau et de rendre les nouveaux événements:
$('#agenda").fullCalendar( 'refetchEvents' )
OU:
$('#agenda").fullCalendar('rerenderEvents')
Fonctionne pas pour moi. voir mes nouveaux événements. [{"bookingid":"3232","statut":"en attendant Deposit","title":"bookingid","start":"2016-10-18T06:45:00+00:00","end":"2016-10-18T11:30:00+00:00"},{"bookingid":"3231","status":"en attendant Approval","title":"HelloFriends","start":"2016-10-18T10:30:00+00:00","end":"2016-10-18T11:30:00+00:00"}]
OriginalL'auteur Scoobler
Merci pour l'aide!
Voici ce qui a fonctionné sur Scoobler les suggestions les étapes de travail sont (1) removeEvents. (2) addEventSource, (3) rerenderEvents.
Quand je fais cela, j'ai de nouveaux des copies tout le temps.
Cela a fonctionné parfaitement pour moi. J'ai utilisé un tableau pour ma liste d'événements au lieu de $('#agenda").fullCalendar('removeEvents'); $('#agenda").fullCalendar('addEventSource', eventList); $('#agenda").fullCalendar('rerenderEvents');
Cela a fonctionné comme un charme pour moi. Merci une tonne!
OriginalL'auteur user203947
La solution ci-dessus fonctionne, mais chaque fois que vous l'exécutez, il ajoute une eventSource.
Lorsque vous avez besoin pour exécuter
$('#calendar').fullCalendar('refetchEvents');
vous obtiendrez des événements à partir de toutes les sources, de sorte que de nombreux dublicate les événements et les événements à partir de toutes les sources précédentes.La solution qui fonctionne pour moi est bon:
Et il n'est pas nécessaire pour "rerenderEvents" ou "refetchEvents".
Après "addEventSource" événements seront immédiatement récupérée à partir de la nouvelle source.
Après que "refetchEvents" fonctionnera comme supposé en cas de besoin.
OriginalL'auteur mad.net