更新全日历中的事件



我正在使用Fullcalendar打印日历中的事件。我遇到的问题是我不知道 Fullcalendar 是否允许您在打印事件后编辑事件的数据。我一直在阅读文档和部分 updateEvent(方法(,但我复制了它在那里所说的内容,它根本不起作用。我不知道我是否错过了什么。如果有人使用过完整日历,我将不胜感激。

  function drawControl(controls) {
            console.log(controls[0])
            $('#calendar').fullCalendar({
                editable: true,
                aspectRatio: 1,
                contentHeight: 500,
                scrollTime: '24:00:00',
                minTime: '01:00:00',
                maxTime: '24:00:00',
                defaultView: 'agendaWeek',
                header:{left:"prev,next,today",
                center:"title",
                right:"month, agendaWeek, agendaDay"},

                events: allControls(controls),
                eventRender: function(event, element) {
                    var bloodLevel=event.title
                    if(bloodLevel >= 180) {
                        element.css('background-color', 'red');
                    }
                    else if(bloodLevel < 70) {
                        element.css('background-color', 'yellow');
                    }
                },
                eventClick: function(event, element) {

                $('#calendar').fullCalendar('updateEvent', event);
    }
                //
        // put your options and callbacks here
    })
    }
});
// draw your calendar
$('#calendar').fullCalendar(...);
// click something to make a change
$('#myButton').click(function(){
    var myEvents = $('#calendar').fullCalendar('clientEvents');
    for(var i in myEvents){
        if(myEvents[i].property == myConcern) {
            myEvents[i].something = newValue;
        }
    }
});

有两个选项:

  1. 使用loading
  2. 使用eventAfterAllRender

Bt 使用 eventAfterAllRender ,这是在所有事件从源在 fullCalendar 中完成渲染后触发的。

eventAfterAllRender: function( view ) {
    var allevents = $('#calendar').fullCalendar('clientEvents');
    var count = allevents.length;
    - - -
    - - -
}

现在,使用allevents数组,做需要的事情。使用循环获取事件的属性。

在调用 .fullCalendar('updateEvent', event( 之前,尝试设置 event.backgroundColor 属性以及元素 .css((。

例:

if(bloodLevel >= 180) {
    element.css('background-color', 'red');
    event.backgroundColor = 'red';
}
else if(bloodLevel < 70) {
    element.css('background-color', 'yellow');
    event.backgroundColor = 'yellow';
}

相关内容

  • 没有找到相关文章

最新更新