如何在将事件动态添加到fullCalendar时使用eventClick?

时间:2016-06-29 22:30:41

标签: node.js fullcalendar ejs

我创建了一个名为myEvent的对象,并使用它将事件动态呈现给fullCalendar。我的问题是如何在这种情况下应用eventClick,我尝试了很多不同的方法并进行了大量的研究,但似乎没有任何关于此的信息。

我目前的代码看起来像......

        var myCalendar = $('#calendar'); 
        myCalendar.fullCalendar();       
        <% for(var i = 0; i < group.meetings.length; i++) { %>
            var startDay = '<%= group.meetings[i].startDay%>'.split("/");
            console.log(startDay[0]);
            var startTime = '<%= group.meetings[i].startTime%>';
            var endDay = '<%= group.meetings[i].endDay%>'.split("/");
            var endTime = '<%= group.meetings[i].endTime%>';
            var startDayFormatted = moment(startDay[2] + "-" + startDay[0] + "-" + startDay[1] + "T" + startTime).toDate().toISOString();
            var endedDayFormatted = moment(endDay[2] + "-" + endDay[0] + "-" + endDay[1] + "T" + endTime).toDate().toISOString();
            console.log(startDay[0]);

            var myEvent = {
                title: '<%= group.meetings[i].meetingName%>',
                allDay: true,
                start: startDayFormatted,
                end: endedDayFormatted,
                // Need if statement here after we add the completed boolean
                <% if(group.meetings[i].final == true) {%>
                color: 'blue',
                textColor: 'white'
                <%} else if(group.meetings[i].final == false) {%>
                color: 'yellow',
                textColor: 'black'
                <%}%>
            };

            myCalendar.fullCalendar('renderEvent', myEvent, true);
        <%}%>

1 个答案:

答案 0 :(得分:0)

所以,我最终搞清楚了我的问题。我只需要将for循环变成一个函数并返回对象myEvent。之后我会像这样调用fullCalendar

  

$(&#39;#日历&#39)。fullCalendar({                   事件:[getEvents()],                   eventClick:function(event,jsEvent,view){                     //无论你想做什么                  }   });