jquery - 根据选择事件的开始和结束更改完整日历议程 View 中的单元格背景

标签 jquery fullcalendar

enter image description here

是否可以根据议程周 View 中的开始和结束日期突出显示完整日历中的单元格。非常感谢任何帮助。我的问题是在选择事件中,根据开始和结束时间,我想根据结束和开始时间更改单元格的颜色,就像我添加事件时一样。 提前致谢。

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

            header:{left:'prev,next today', center:'title', right:'month,agendaWeek,agendaDay'},
            selectable:true,
            /*selectable: {
                month: false,
                agenda: true
            },*/
            defaultView:'${params.calView}',
            ignoreTimezone:true,
            allDayDefault:false,
            unselectAuto:false,
            editable:false,
            selectHelper: true,
            events:'${createLinkTo(dir: '/')}calendar/loadEvents/?requestuser=' +${params.requestuser?:currentUser} + '&courseSource=' + '${params.courseSource}',
            eventClick:function (event) {

                var currentView = $('#eventCal').fullCalendar('getView').name;
                var unsavedTimezone = '${unsavedTimezone}'
                    $.fancybox({
                        titleShow:false,
                        width:400,
                        height:120,
                        autoDimensions:true,
                        overlayOpacity:0.6,
                        onComplete:function () {
                            attachCalendarDatePickerClasses(event.start);
                        },
                        href:event.urlCalendar+'&calView=' + currentView + '&requestUser=' + $('#view_others').val() + '&unsavedTimezone=' + unsavedTimezone
                    });
            },

            select:function (startDate, endDate, allDay) {
                var currentView = $('#eventCal').fullCalendar('getView').name;
                if(drag && currentView=="agendaWeek") {
                    var availabilityDialog = $("<div>" +
                            '<input type="radio" id="availabilityYes" name="availability" value="true" />' + "Add Available Time" +
                            '<br/>' +
                            '<input type="radio" id="availabilityNo" name="availability" value="false"/>' + " Remove Availability" +
                            "</div>");
                    availabilityDialog.dialog({
                        title: 'Select Availability',
                        draggable: false,
                        autoOpen: false,
                        modal: true,

                    });
                    availabilityDialog.dialog('open');
                    $("body").on("click", ".ui-widget-overlay", function () {
                        availabilityDialog.dialog("close");
                    });

            },
            eventRender: function(event, element) {
               var currentView = $('#eventCal').fullCalendar('getView').name;
               if(currentView=='month'){
                element.qtip({
                  // content:$(this).children('.fc-event-time').text()
                   content: event.title + "<br>" + $.fullCalendar.formatDate(event.start, 'MM/dd/yyyy') + "<br>" + $.fullCalendar.formatDate(event.start, 'h:mmTT')+ "-" +$.fullCalendar.formatDate(event.end, 'h:mmTT') + " " +"${calendar.userTimeZone()}"+ "<br/>Member:"+event.member
                });
                }
                if(currentView!='month'){
                 element.find('.fc-event-title').append("<br/>" + $.fullCalendar.formatDate(event.start, 'h:mmTT') + "-" + $.fullCalendar.formatDate(event.end, 'h:mmTT')+ " "+"${calendar.userTimeZone()} " +"<br/>Member:"+event.member);
                 }
            },

            viewDisplay: function (view) {
                currentCalendarView = view.name;
            }

        });

最佳答案

对于这种情况,您必须在 fullcalendar.js 中进行一些棘手的修改。

首先, 在议程 View 中,所有日期都有一个完整行 例如。周从 2016 年 1 月 3 日开始到 2016 年 1 月 9 日。对于 08:00,您将有一个水平行 (),从 2016 年 1 月 3 日开始到 2016 年 1 月 9 日。 在这里,您必须制作单独的 div block ,并将日期和时间设置为该特定单行中每一天的 id 属性。

第二, 在您的选择基础上,您可以通过 id 获取元素来应用类,而 id 是日期和时间的组合。

关于jquery - 根据选择事件的开始和结束更改完整日历议程 View 中的单元格背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34586848/

相关文章:

javascript - FullCalendar - 根据事件标准每天显示图标

javascript - 如何获取我们在谷歌地图中放置街景小人的点的坐标

jquery - 如何创建一个 jQuery 新消息弹出对话框

javascript - 全日历 : minTime wrongly calculate fc-not-start

jquery - 使用 JSON 在完整日历上呈现事件

javascript - Fullcalendar - 调整自定义时间的日历 View 日显示范围

javascript - vue-fullcalendar - css 类和换行符不起作用

javascript - 使用ajax和grails显示选定值中的关联数据库值

javascript - 单击时重置下拉列表

javascript - 使用下划线从 JSON obj 收集数据以创建位置数组