繁体   English   中英

在FullCalendar的月份视图中为日期范围添加颜色

[英]Add color to a date range in month view in FullCalendar

我正在使用“完整日历”,并希望将颜色添加到某个日期范围,因此,当我们单击“月视图”选项卡时,我已经删除了开始日期和结束日期。

但是当在循环中时,只有一旦进入循环,我就会收到此错误。主要代码在viewDisplay中

TypeError:t.getFullYear不是一个函数

这是我尝试过的。

    var calendar = $('#calendar').fullCalendar({

    editable: true,
   header: {
   left: 'prev,next today',
   center: 'title',
   right: 'month,agendaWeek,agendaDay,year'
  },   



   events: "cal_events.php",
 viewDisplay: function(view) {

            if (view.name == 'agendaDay') { 
                    //alert(view.name);

            }

            if (view.name == 'month') { 


         var start_day =view.start

        var end_day = view.end

     count = 1;   

        while(count<7)
        {

        var start_day =$.fullCalendar.formatDate(start_day,"yyyy-MM-dd");

        console.log(start_day);
        console.log(count);

         $("[data-date="+start_day+"]").css("background-color", "red");


        start_day = start_day.split('-');
        start_day[2] = parseInt(start_day[2])+2;
        if(start_day[2]<10) {
            start_day[2] = "0"+start_day[2];
        }
        start_day = start_day.join('-');

        count++;
        }


            }

请帮忙。

不知道您要使用此代码实现什么,但是问题是在$.fullCalendar.formatDate(start_day,"yyyy-MM-dd"); start_day应该是一个日期对象。

这应该解决它:

start_day = $.fullCalendar.formatDate(new Date(start_day),"yyyy-MM-dd");

在完整日历3和4中,您可以执行以下操作:

                dayRender: function (date, cell) {
                    // colour the date range (DueDate - 30 days)
                    let cellDate = moment(date._d).format("Y-MM-DD");
                    //get the due date from the form / you can also  get it either as todays date  i.e. let dueDateEnd = date._d;
                    let dueDateEnd = $("#calendar").data("duedate");
                    console.log("____ original due Date_____" + dueDateEnd);

                    let dueDateStart = moment($("#calendar").data("duedate"), 'YYYY-MM-DD').subtract(30, 'days').format('YYYY-MM-DD');
                    console.log("____create DueDate start_____" + dueDateStart);

                    if (moment(cellDate).isBetween(dueDateStart, dueDateEnd)) {
                        cell.css("background-color", "green");
                    }
                },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM