jQuery Fullcalendar - Comment mettre à jour tous les événements modifiés ensemble au lieu de un par un?
Je suis en utilisant le FullCalendar plugin jQuery: http://arshaw.com/fullcalendar/
Je suis également en utilisant l'exemple où vous pouvez faire glisser des événements externes sur le calendrier: http://arshaw.com/js/fullcalendar-1.5.2/demos/external-dragging.html
Droit maintenant, j'ai un événement, cliquez sur la fonction comme suit:
eventClick: function(event) {
$.ajax({
type: "POST",
url: "ajax-schedule.php",
data: 'id=' + event.id + '&start=' + event.start + '&end=' + event.end,
success: function(data){
alert('done!');
}
});
}
Cette messages dans un fichier "ajax-schedule.php" où les données sont insérées dans la base de données mysql.
Je voudrais créer un lien qui lorsqu'il est cliqué prendra toutes les nouvelles/événements de modification et d'afficher les données comme indiqué ci-dessus, au lieu de un par un.
Quelque chose comme:
<a href="#" onclick="updateSchedule();">Update Schedule</a>
La "updateSchedule" fonction serait alors afficher toutes les données.
Ressemble à la solution pourrait impliquer la "clientEvents" méthode: http://arshaw.com/fullcalendar/docs/event_data/clientEvents/
... mais je suis un peu perdu ici.
Aucune idée de comment faire cela?
OriginalL'auteur Oseer | 2011-10-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer un tableau pour stocker tous les événements:
Donc sur le côté serveur, votre code peut obtenir "numOfEvents" et il suffit d'exécuter une boucle de 0 à numOfEvents pour obtenir tous les événements.
JamesBoyZ: j'ai ce travail pour les nouveaux objets déposés sur le calendrier. Maintenant, j'ai besoin d'ajouter des événements existants qui ont été modifiés pour la matrice. Je peux le faire avec eventDrop et eventResize, mais si j'utilise .pousser, chaque fois que l'événement est modifié, une nouvelle instance est ajoutée à la arrayOfEvents. Comment puis-je vérifier pour voir si l'événement existe déjà dans le tableau, si ce n'est ajouter et si donc le mettre à jour? Merci encore!!!
J'ai mis à jour mon post pour l'ajax. Pour le 2ème problème, lorsqu'un utilisateur de faire glisser un événement EXTERNE et de les déposer sur le calendrier, un nouvel événement serait poussé à la arrayOfEvents. Toutefois, lorsqu'un utilisateur de faire glisser un événement SUR le calendrier, il n'y aurait pas de nouveaux événements introduit dans la matrice. Au lieu de cela, l'exemple de la modification de l'événement dans la matrice sera automatiquement mis à jour.
Sans cela fonctionne très bien pour les nouveaux chuté à des événements EXTÉRIEURS, ce que je veux dire, c'est pour les événements affichés sur le calendrier par défaut à partir d'un flux json qui sont redimensionnées ou déplacé à une autre date (n'ont pas été ajoutés à la matrice externe, déposer parce qu'ils étaient déjà là). Ce ne sont pas ajoutés à la arrayOfEvents. Si j'utilise
arrayOfEvents.push(event);
sur eventDrop et eventResize, les événements peuvent être ajoutés au tableau plusieurs fois. Je suis en train de voir si l'événement.id est en arrayOfEvents, pousser, d'autre mise à jour.lorsque vous obtenez les événements hors du flux json, les ajouter à la arrayOfEvents. N'utilisez PAS de
arrayOfEvents.push(event)
dans eventResize fonction de rappel. Vous avez seulement besoin de les pousser dans eventDrop de rappel.OriginalL'auteur Mr.J4mes
C'est quelque chose que je prévois de mettre en œuvre à l'avenir, quand j'arrive à peaufiner les performances de mon projet. Mon idée générale serait quelque chose comme ceci:
Espère que vous ne m'perdu et attrapez ma dérive. C'est juste mon idée utile, mais je ne vois pas moi-même travaillons cette année, dépend de l'école/travail. Ce n'est pas si dur à faire en fait, au moins pas dans la façon dont je l'imagine, de sorte qu'il peut être quelqu'un d'autre qui va le faire avant que je commence même 🙂
OriginalL'auteur Jan Tovarnak