根据给定日期突出显示日期单元格

时间:2017-12-04 02:26:47

标签: javascript jquery fullcalendar

我需要使用JavaScript / jQuery突出显示fullcalendar中的特定日期。日期应由用户输入给出。我在下面提供了我的代码:

<style type="text/css">
  .cellBg {
    background: #000;
    color: #fff;
}
</style>
$(document).ready(function() {
  var today=new Date().toISOString().substring(0, 10);
 var highligtDate="2017-12-05";
  console.log('today',today);
        $('#calendar').fullCalendar({
            theme: true,
            header: {
                left: 'prev,next',
                center: 'title',
                right: 'month,agendaWeek,agendaDay,today,listMonth'
            },
      dayRender:function(date,cell){
         date = new Date();
         date = $.fullCalendar.formatDate(date, 'yyyy-MM-dd');
         $('.fc-day[data-date="'+ date +'"]').addClass('cellBg');
       },
            ///////// edit
            dayClick: function (date, jsEvent, view) {
            //alert('day click');
                },
                eventClick:
                 function (event, jsEvent) {
                          //alert('event clicked');
                          $('#eventpopup').modal({
                          backdrop: 'static'
                          });
                       },
            ///////////
            defaultDate: today,
            navLinks: true, // can click day/week names to navigate views
            editable: true,
            eventLimit: true, // allow "more" link when too many events
            events: [
                {
                    title: 'All Day Event',
                    start: '2017-05-01'
                },
                {
                    title: 'Long Event',
                    start: '2017-05-07',
                    end: '2017-05-10'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2017-05-09T16:00:00'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2017-05-16T16:00:00'
                },
                {
                    title: 'Conference',
                    start: '2017-05-11',
                    end: '2017-05-13'
                },
                {
                    title: 'Meeting',
                    start: '2017-05-12T10:30:00',
                    end: '2017-05-12T12:30:00'
                },
                {
                    title: 'Lunch',
                    start: '2017-05-12T12:00:00'
                },
                {
                    title: 'Meeting',
                    start: '2017-05-12T14:30:00'
                },
                {
                    title: 'Happy Hour',
                    start: '2017-05-12T17:30:00'
                },
                {
                    title: 'Dinner',
                    start: '2017-05-12T20:00:00'
                },
                {
                    title: 'Birthday Party',
                    start: '2017-05-13T07:00:00'
                },
                {
                    title: 'Click for Google',
                    //url: 'http://google.com/',
                    start: '2017-05-28'
                }
            ]
        });

    });

这里我有一个日期var highligtDate="2017-12-05",我需要在日历中突出显示这一天。

1 个答案:

答案 0 :(得分:1)

将日期与highligtDate进行比较,并指定&#39; cellBg&#39;它没有条件将此类分配给特定日期。

$(document).ready(function() {
  var today=new Date().toISOString().substring(0, 10);
 var highligtDate="2017-12-05";
  console.log('today',today);
        $('#calendar').fullCalendar({
            theme: true,
            header: {
                left: 'prev,next',
                center: 'title',
                right: 'month,agendaWeek,agendaDay,today,listMonth'
            },
      dayRender:function(date,cell){
         //date = new Date();
         //date = $.fullCalendar.formatDate(date, 'yyyy-MM-dd');
        //Compare the date with highligtDate and assign 'cellBg' class to it.
         if(date.format('YYYY-MM-DD') == highligtDate)
         {
            $('.fc-day[data-date="'+ highligtDate +'"]').addClass('cellBg');
         }
       },
            ///////// edit
            dayClick: function (date, jsEvent, view) {
            //alert('day click');
                },
                eventClick:
                 function (event, jsEvent) {
                          //alert('event clicked');
                          $('#eventpopup').modal({
                          backdrop: 'static'
                          });
                       },
            ///////////
            defaultDate: today,
            navLinks: true, // can click day/week names to navigate views
            editable: true,
            eventLimit: true, // allow "more" link when too many events
            events: [
                {
                    title: 'All Day Event',
                    start: '2017-05-01'
                },
                {
                    title: 'Long Event',
                    start: '2017-05-07',
                    end: '2017-05-10'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2017-05-09T16:00:00'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2017-05-16T16:00:00'
                },
                {
                    title: 'Conference',
                    start: '2017-05-11',
                    end: '2017-05-13'
                },
                {
                    title: 'Meeting',
                    start: '2017-05-12T10:30:00',
                    end: '2017-05-12T12:30:00'
                },
                {
                    title: 'Lunch',
                    start: '2017-05-12T12:00:00'
                },
                {
                    title: 'Meeting',
                    start: '2017-05-12T14:30:00'
                },
                {
                    title: 'Happy Hour',
                    start: '2017-05-12T17:30:00'
                },
                {
                    title: 'Dinner',
                    start: '2017-05-12T20:00:00'
                },
                {
                    title: 'Birthday Party',
                    start: '2017-05-13T07:00:00'
                },
                {
                    title: 'Click for Google',
                    //url: 'http://google.com/',
                    start: '2017-05-28'
                }
            ]
        });

    });