2010-02-08 5 views
2

Comment puis-je être averti lorsque l'utilisateur clique sur 'suivant' (flèche)? J'utilise le calendrier en vue mensuelle et je souhaite charger les données du mois suivant à la demande. De même, est-ce que smbdy a un exemple de consommation de données à partir d'ASP.NET (appel AJAX)?jQuery FullCalendar cliquez sur l'événement 'suivant' notificatin

+0

Voir mon exemple dans [jQuery obtenir les données du mois prochain en utilisant le plugin fullcalendar] (http://stackoverflow.com/questions/12278295/jquery-get-the-next-month-data-using-fullcalendar-plugin/19135058 # 19135058) – Ben

Répondre

3

Vous pouvez utiliser le déclencheur viewDisplay (http://arshaw.com/fullcalendar/docs/display/viewDisplay/) mais il est également appelé lorsque le calendrier est chargé ou lorsque l'utilisateur change de vue.

il semble que vous voudriez une fonction événements à la place: http://arshaw.com/fullcalendar/docs/event_data/events_function/

pour la chose asp.net, avez-vous regardé ici? http://weblogs.asp.net/gunnarpeipman/archive/2010/02/03/using-fullcalendar-jquery-component-with-asp-net-mvc.aspx

0

Ici, la fonction viewDisplay est appelée lorsque l'utilisateur clique sur next/prev. En outre, vous pouvez voir que c'est obtenir le prochain lot de données via AJAX. J'espère que cela aide :)

$(document).ready(function() { 

var calendar = $('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'resourceMonth' 
    }, 
    defaultView: 'resourceWeek', 


    eventSources: [ getCalData() ], 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: '' 
    }, 
    viewDisplay: function (view) { 
     $('#calendar').fullCalendar('removeEvents'); 
     $('#calendar').fullCalendar('addEventSource', getCalData()); 
     $('#calendar').fullCalendar('rerenderEvents'); 
    } 
    }); 
}); 


function getCalData() { 

var source = [{}]; 
$.ajax({ 
    async: false, 
    url: '/mysite/GetWeekData', 
    data: { myParam: $('#calendar').fullCalendar('getView').visStart }, 
    success: function (data) { 
     $(data).each(function() { 
      source.push({ 
       title: $(this).attr('title'), 
       start: $(this).attr('start'), 
      }); 
     }); 
    }, 
    error: function() { 
     alert('could not get the data'); 
    }, 
}); 
return source; 
} 
1

Votre façon d'aborder est faux. Vous devrez peut-être écrire une API qui renvoie la liste des objets de calendrier dans JSON et utiliser les options suivantes.

$('#calendar').fullCalendar({ 
    events: '/myfeed.php' 
}); 

Ensuite, fullcalendar appellera automatiquement /myfeed.php chaque fois que cela sera nécessaire. par exemple. Si un utilisateur clique sur le bouton "précédent" ou "suivant" du mois.

Voici l'exemple fullcalendar URL va générer:

/myfeed.php?start=1262332800&end=1265011200&_=1263178646 

Pour plus d'informations, s'il vous plaît visitez l'adresse suivante. http://arshaw.com/fullcalendar/docs/event_data/events_json_feed/