Je veux que le fullCalendar se redessine (toute la structure et tous les événements) sans recharger la page.
Scénario: J'utilise un patch de fullCalendar qui supporte le Affichage des ressources. Pour quelques actions utilisateur, je souhaite modifier les ressources. Mais je ne veux pas recharger la page.
Réponses:
19 pour la réponse № 1Vous pouvez "détruire" et "rendre" le calendrier dans son ensemble. Mais cela pourrait être fastidieux - en particulier dans les navigateurs plus anciens.
$("#calendar").fullCalendar("destroy");
$("#calendar").fullCalendar("render");
Si vous n’avez pas réellement besoin de rendre la table, mais que vous restituez simplement les événements, vous pouvez utiliser la méthode "rerenderEvents":
$("#calendar").fullCalendar("rerenderEvents");
Espérons que cela aide!
1 pour la réponse № 2
Le problème:
"... Le problème est que le calendrier est initialisé alors que le modal ou div n'est pas visible ..." basé sur ce lien entrez la description du lien ici
À mon avis, détruire n'est pas nécessaire dans ce cas, seul le rendu permet de voir le calendrier.
Ma solution:
<script type="text/javascript">
$("#objectname").show(0,onObjectShow);
function onObjectShow(){$("#calendar").fullCalendar("render");}
</script>
Vous devez vous assurer que l’objet (conteneur decalendrier) est entièrement visible. Par exemple, ma première erreur a été de mettre ce code sur l'événement "onClick", et l'événement click est déclenché avant d'afficher le conteneur d'objet et n'a aucun effet.
Solution basée sur cette référence.
1 pour la réponse № 3
Utilisez refetchResources: .fullCalendar( "refetchResources" )
Cela va récupérer et refaire le rendu des données de ressources, selon le Documentation FullCalendar.