2015-11-04 80 views
0

通过此代码,我可以显示每日和每周事件,但我无法显示每月事件。我在我的一个laravel项目中使用完整的日历插件。参数我显示每日事件和范围显示事件表格的开始日期。如何在全日历插件中显示月度重复事件

 $('#calendar').fullCalendar({ 
     defaultDate: moment(), 
     editable: false, 
     eventLimit: true, // allow "more" link when too many events 
     events:function(start, end, timezone, callback){ 
     $.ajax({url: baseUrl +"/calenderevents", 
       type:'post', 
       success: function(data) 
       { 
        var events = []; 
        var range = []; 
        $.each(data, function(index, element) { 
         events.push({ 
          title  : element.title, 
          start  : element.start, 
          end   : element.end, 
          id   : element.id, 
          dow   : element.dow, 
          ranges  : range 
         }); 

         range.push({ 
           start: moment(element.ranges) 
         }); 
       }); 

       callback(events); 

       } 
      }); 
     }, 
     dayClick: function() { 
       $('#event-message').text("Add Activity"); 
       $('#calender-error').html(''); 
       if($("#user_role_id").data("user-role") == 1){ 
       return false; 
       } 

       $("#delete-event").hide(); 
       $('.dimensions').attr('readonly', 'readonly'); 
       $('#clear-form').click(); 
       $('.calender-event').attr({ 
             'id':'calender_event_form', 
             'action':baseUrl+'/assisted', 
             }); 
       $.fancybox({ 
        content: $('#add_calender_event'), 
        padding : 10, 
        fitToView:false, 
        autoSize: false, 
        width:485, 
        height:600, 
        openEffect : 'elastic', 
        closeEffect : 'elastic', 
        }); 
      }, 
     eventRender: function (event, element) { 
     // element.addClass('href', 'javascript:void(0);'); 
     element.addClass('event'); 
     element.attr('id', event.id); 

     if("ranges" in event) 
     { 
      return (event.ranges.filter(function(range){ // test event against all the ranges 
       return (event.start.isAfter(range.start)); 
      }).length)>0; 
     } 

     } 
    }); 
+1

提供显示您的特定问题的代码。 –

+0

这是我尝试显示每周和每日活动的代码 。我想每月重复活动。 – Dinesh

+0

请格式化您的代码以使其易读。 –

回答

0
$('#fullcalendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    eventSources: [{ 
     // Every sunday as a background event 
    events: function (start, end, timezone, callback) { 
     // Get the days 
     var days = matchingDaysBetween(start, end, function (day) { 
      return day.format('dddd') === 'Sunday'; //test function 
     }); 
     // Map days to events 
     callback(days.map(function (day) { 
      return { 
       start: moment(day).startOf('day'), 
       end: moment(day).endOf('day'), 
       title: "sunday", 
       rendering: 'background' 
      }; 
     })); 
    } 
    }, { 
     //Every tuesday noon to 2pm 
     events: function (start, end, timezone, callback) { 
      var days = matchingDaysBetween(start, end, function (day) { 
       return day.format('dddd') === 'Tuesday'; //test function 
      }); 
      callback(days.map(function (day) { // map days to events 
       return { 
        start: moment(day).hour(12), 
        end: moment(day).hour(14), 
        title: "lunch", 
       }; 
      })); 
     } 
    }] 
}); 
+0

使用此jqury在每个月显示事件 –

0
var matchingDaysBetween = function (start, end, test) { 
    var days = []; 
    for (var day = moment(start); day.isBefore(end); day.add(30, 'd')) { 
     if (test(day)) { 
      days.push(moment(day)); 
      // push a copy of day 
     } 
    } 
    return days; 
}