通过拖放fullcalendar- Javascript来更新事件

前端之家收集整理的这篇文章主要介绍了通过拖放fullcalendar- Javascript来更新事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Fullcalendar进行我正在开发的项目…我只剩下一个要实现的功能,即将现有事件从其原始位置拖动到另一个时间或日期.我想知道如何获取当前对象信息(标题,新开始时间,旧开始时间,ID,URL等),因此我可以使用更新的信息更新数据库… Fullcalendar对象中的哪个属性我用?
我实现了drop属性;
drop  : function(date,allDay) {
            // retrieve the dropped element's stored event object
            var originalEventObject = $(this).data('eventObject');
            // we need to copy it,so that multiple events don't 
            // have a reference object
            var copiedEventObject   = $.extend({},originalEventObject);
            // assign it the date that was reported
            copiedEventObject.start = date;
            copiedEventObject.allDay = allDay;

            // render the event on the calendar
            // the last `true` argument determines if the event `sticks`
            $('#calendar').fullCalendar('renderEvent',copiedEventObject,true);

            // if the 'remove after drop' checkBox checked?
            if ($('#drop-remove').is(':checked')) {
                // if so remove the element from the "Draggable Events"
                $(this).remove();
            }
    },

但它没有做我想要的……

解决方法

看一下事件拖动和调整大小 http://arshaw.com/fullcalendar/docs/event_ui/

我想你在寻找eventDrop回调.

Triggered when dragging stops and the event has moved to a different
day/time.

http://arshaw.com/fullcalendar/docs/event_ui/eventDrop/

来自arshaw网站的示例:

$('#calendar').fullCalendar({
    events: [
        // events here
    ],editable: true,eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) {

        alert(
            event.title + " was moved " +
            dayDelta + " days and " +
            minuteDelta + " minutes."
        );

        if (allDay) {
            alert("Event is now all-day");
        }else{
            alert("Event has a time-of-day");
        }

        if (!confirm("Are you sure about this change?")) {
            revertFunc();
        }

    }
});

猜你在找的JavaScript相关文章