FullCalendar.io - 点击加载不同的事件

问题描述

我正在使用 https://fullcalendar.io/ 并且最初数据加载正常。代码继承自前任开发者(下)

我的问题是,当有人单击按钮时,我将如何加载一组不同的事件?假设我有几种不同类型的事件,每个事件都有一个按钮,每个按钮都会加载不同的事件集。我该怎么做?

我尝试了以下操作,但这似乎并没有刷新事件(删除旧的,添加新的)

  $('.status').click(function(e){
    e.preventDefault();
    var status = $(this).data('status'); 
    $.ajax({
     type: "POST",dataType: "json",url: "/Office_calender/loadEventstatus",data: {
      status:status
     },success: function(result){
       $('#calendar').fullCalendar('removeEvents',function () { return true; });
       $('#calendar').fullCalendar('removeEventSources');
       $('#calendar').fullCalendar('addEventSource',result,true);
       
     }
   });
  });

谢谢

$('#calendar').fullCalendar({
defaultDate: new Date(),schedulerLicenseKey: 'XXXXX',defaultview: 'month',editable: false,selectable: true,selectHelper: true,allDaySlot: false,disableDragging: true,slotEventOverlap: true,selectOverlap: false,contentHeight: 400,eventLimit: true,// allow "more" link when too many events
minTime: "06:00:00",maxTime: "23:00:00",dayOfMonthFormat: 'ddd DD',firstDay: 1,scrollTime: "08:00:00",header: {
    left: 'prev,next month',center: 'title',right: 'prev,next month'
},views: {
    agendaTwoDay: {
        type: 'agenda',duration: {
            days: 2
        },groupByResource: true
    }
},events: [ <
    ? PHP
    if ($allevents != 0) {
        foreach($allevents as $val) {
            ? > {
                id: '<?PHP echo $val->ecd_id;?>',title: '<?PHP echo $val->ecd_name;?>',start: '<?PHP echo $val->ecd_date_from;?>',end: '<?PHP echo $val->ecd_date_to;?>',backgroundColor: '#3a87ad',},<
            ? PHP
        }
    } ? >
],eventClick: function(eventObj) {
    if (eventObj.id) {
        var status = eventObj.id;
        $.ajax({
            type: "POST",url: "<?PHP echo site_url(); ?>superadmin_dashboard/event_D",data: {
                status: status
            },dataType: 'json',success: function(result) {
                var date = result.ecd_date_from;
                var dateAr = date.split('-');
                var firstday = dateAr[2] + '-' + dateAr[1] + '-' + dateAr[0];

                var ldate = result.ecd_date_to;
                var ldateAr = ldate.split('-');
                var lastday = ldateAr[2] + '-' + ldateAr[1] + '-' + ldateAr[0];
                $('#myModal').modal('show');
                $('#event_name').html(result.ecd_name);
                $('.requirementsmodal').attr('data-event_id',result.ecd_id);
                $('#myModalLabel').html(result.ecd_name);
                $('#event_description').html(result.ecd_desc);
                $('#event_firstday').html(result.ecd_date_from);
                $('#event_lastday').html(result.ecd_date_to);
                $('#event_type').html(result.category_name);
                $('#event_address').html(result.ecd_location);
                $('#client_name').html(result.client_name);
                $('.stafflist').data('eventId',result.ecd_id);
                $('.eventName').html(result.ecd_name);
                $('.clientName').html(result.client_name);
                //$('.eventdates').html(firstday+" - "+lastday);
                $('#event_dates').html(firstday + " - " + lastday);
                $('.eventAddress').html(result.ecd_location);
                $('.edit_events').attr('href','<?PHP echo base_url(); ?>editEventDetails/' + result.ecd_id + '/1');
            }
        });
        return false; // prevents browser from following link in current tab.
    } else {
        alert('Clicked ' + eventObj.title);
    }
}
});
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)