11
votes

Ajout d'un événement de clic à FullCalendar

Comment puis-je ajouter un événement de clic sur un événement et passer la journée et l'heure d'événement en tant que variable d'URL à une autre page? Lorsqu'un utilisateur clique sur un événement, je souhaite transmettre la date et l'heure d'événement à une autre page pour le traitement.


0 commentaires

6 Réponses :


22
votes
$('#calendar').fullCalendar({
    eventClick: function(calEvent, jsEvent, view) {
        window.location = "http://www.domain.com?start=" + calEvent.start;

    }
});
Look here for more info: http://arshaw.com/fullcalendar/docs/mouse/eventClick/

2 commentaires

Je ne l'ai pas eu de la documentation non plus ... c'est beaucoup mieux +1


De plus, vous pouvez utiliser la réponse de @kyle Partridge, personnellement, je l'aime mieux. J'utilise ma méthode car je reçois un événement de la couche d'entreprise que je ne souhaite pas attacher à un domaine, donc je construisez le lien sur l'application Web.




1
votes

D'accord, on dirait que j'ai répondu à ma propre question. Fonction JavaScript Escape () Est-ce que le truc.


0 commentaires

1
votes

Voici comment j'appelle la boîte de dialogue et le peupler:

$('#calendar').fullCalendar({ 
    dayClick: function (date, allDay, jsEvent, view) {  
        $("#dialog").dialog('open');
    },   
});

$("#dialog").dialog({
    autoOpen: false,
    height: 350,
    width: 700,
    modal: true,
    buttons: {
        'Create event': function () {
            $(this).dialog('close');
        },
        Cancel: function () {
            $(this).dialog('close');
        }
    },

    close: function () {
    }

}); 


1 commentaires

Comment avez-vous passé la date, Allday et d'autres variables?




1
votes

Je sais que c'est un post plus ancien mais je cherchais quelque chose de similaire ce matin. Je pense que ma solution était beaucoup plus simple après avoir examiné certaines des autres solutions. Une chose est que j'utilise la police géniale dans la balise d'ancrage.

Je voulais afficher un événement sur mon calendrier lorsque l'utilisateur a cliqué sur l'événement. J'ai donc codé une étiquette distincte comme: p> xxx pré>

Je trouve plus facile d'utiliser des noms de classe dans ma jQuery depuis que j'utilise asp.net. P>

Vous trouverez ci-dessous la jQuery pour mon application FullCalendar. P>

<script>

    $(document).ready(function() {
    
        $('#calendar').fullCalendar({
            googleCalendarApiKey: 'APIKEY',
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            events: {
                googleCalendarId: '@group.calendar.google.com'
            },
            eventClick: function (calEvent, jsEvent, view) {
                var stime = calEvent.start.format('MM/DD/YYYY, h:mm a');
                var etime = calEvent.end.format('MM/DD/YYYY, h:mm a');
                var eTitle = calEvent.title;
                var xpos = jsEvent.pageX;
                var ypos = jsEvent.pageY;
                $("#eventTitle").html(eTitle);
                $("#startTime").html(stime);
                $("#endTime").html(etime);
                $("#eventContent").css('display', 'block');
                $("#eventContent").css('left', '25%');
                $("#eventContent").css('top', '30%');
                return false;
            }
        });
        $("#eventContent").click(function() {
            $("#eventContent").css('display', 'none');
        });
    });

</script>


0 commentaires