2010-08-16 4 views

Répondre

3

Lorsque vous initialisez l'instance FullCalendar, lier le gestionnaire eventClick:

var calendar = $('#calendar'); 
var curr_event = null; 
calendar.fullCalendar({ 
    ... 

    events: [], 
    eventClick: function(event, jsEvent, view) { 
     curr_event = event; 
     show_form_or_something(); 
    }, 

    ... 
}); 

Vous pourriez vouloir montrer une forme ou quelque chose afin de permettre à l'utilisateur de modifier les propriétés de l'événement (titre, début, etc.) Puis mettre à jour l'événement de retour dans l'instance FullCalendar:

$.extend(curr_event, { 
    title: 'New Event Title', 
    start: new Date() 
}); 
calendar.fullCalendar('updateEvent', curr_event); 

Et pour répondre à la question jmeho:

Lorsque vous ajoutez l'événement à FullCalendar soit vous pouvez spécifier par la source renderEvent() ou d'un événement, id pour chaque événement. Après avoir ajouté l'événement, vous pouvez récupérer le hachage événement/objet en utilisant:

var event_obj = calendar.fullCalendar('clientEvents', 'specific event id'); 

Ensuite, vous pouvez modifier le a/objet et utiliser la méthode UpdateEvent() pour mettre à jour l'affichage FullCalendar.

1

Ce code est parfait pour mettre à jour le calendrier après la mise à jour de l'événement.
Supprimez d'abord l'événement de date, puis restaurez-le à nouveau.

function updateCalenderUP(id, title, Sessiontitle, SessionStart, Sessionend, color) {  
    title = title; 
    var id1 = id; 

    $('#calendar').fullCalendar('removeEvents', id1); 
    $('#calendar').fullCalendar('refresh'); 
    title = title; 

    if (title) { 
     calendar.fullCalendar('renderEvent', { 
       id: Eventid, 
       title: title, 
       start:startDate, 
       end: EndDate,         
       allDay: false, 
       backgroundColor:color 
      }, true // make the event "stick" 
     ); 
    } 
    calendar.fullCalendar('unselect'); 
} 
Questions connexes