2012-04-10 73 views
0

我在我的js中插入了一些新功能,但dayClickeventClick不起作用。日历能够正确加载。dayClick和eventClick功能不起作用

任何想法为什么dayclick和eventclick在下面的代码不起作用?

$(document).ready(function() { 
    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 

    var calendar = $('#calendar').fullCalendar({ 
     header: { 
      left: 'prev,next today', 
      center: '', 
      right: 'agendaWeek,agendaDay' 
     }, 
     selectable: true, 
     selectHelper: true, 
     allDayDefault: false, 
     allDaySlot: false, 
     firstHour: 9, 
     defaultView: 'agendaWeek', 

     dayClick: function(date, allDay, jsEvent, view) { 
      calendar.fullCalendar('gotoDate', date); 
     }, 

     eventClick: function(calEvent, jsEvent, view) { 
    window.location = "http://www.domain.com?start=" + calEvent.start; 

}, 

     select: function(start, end) { 

      var title = prompt('Event Title:'); 
      if (title) { 
       calendar.fullCalendar('renderEvent', 
        { 
         title: title, 
         start: start, 
         end: end 
        }, 
        false // make the event "stick" 
       ); 

       var startDateString = $.fullCalendar.formatDate(start, 'yyyy-MM-dd hh:mm'); 
       var endDateString = $.fullCalendar.formatDate(end, 'yyyy-MM-dd hh:mm'); 
       $.ajax({ 
        type: 'POST', 
        url: '{url}ajaxpost/add', 
        data: { 
         startDate: startDateString, 
         endDate: endDateString, 
         eventTitle: title        
        }, 
        dateType: 'json', 
        success: function (resp) { 
         calendar.fullCalendar('refetchEvents'); 

        } 
       }); 
      } 
      calendar.fullCalendar('unselect'); 
     }, 
     editable: true, 
     events: "{url}ajaxget/data", 
    }); 

}); 

回答

0

由于两者之间存在冲突,您不能一起使用“select”回调和“dayClick”回调。你可以使用datepicker来完成gotoDate函数来完成同样的事情。

http://weblogs.asp.net/gunnarpeipman/archive/2010/02/02/linking-jqueryui-datepicker-and-fullcalendar.aspx

至于eventClick林不知道为什么它不工作,但它更容易把该URL的数据库中调用它的事件,只是将其设置为财产“网址:WWW .somesite.com/sdfjkiwe“

作为一个附注,如果您没有使用renderEvent来显示您的事件,它可能会更好。尝试使用这里发现的事件函数在其中使用你的ajax调用。

http://arshaw.com/fullcalendar/docs/event_data/events_function/

+0

虽然你有点受限,但可以同时使用select和dayClick。例如,如果(allDay == true)'''''如果点击了整个一天,就可以使用'dayClick'回调切换到'agendaDay''以便能够从月和周视图切换到日。这可行,但你必须在周视图中点击“全天”区域。 – mgttlinger 2013-10-24 06:15:32