删除外部事件时,在FullCalendar上获取资源ID

时间:2012-08-15 11:10:35

标签: fullcalendar

我正在使用支持资源的FullCalendar jQuery plugin版本。

我按照this example拖动外部事件。

这一切都运作良好,但我找不到一种方法来获取与外部事件被删除的单元格(日)相关联的Resource ID

我正在使用下面的放置功能。<​​/ p>

drop: function(date, allDay) { 
    // this function is called when something is dropped
    // 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 to the same 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" 
    // (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
    $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

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

我非常感谢你对此提供任何帮助。

1 个答案:

答案 0 :(得分:1)

我也使用FullCalendar的这个分支,当你放弃一个事件时可以获得资源ID,如下所示:

drop: function(date, allDay, test3, test4, resource) {          
    var originalEventObject = $(this).data('eventObject');
    var copiedEventObject = $.extend({}, originalEventObject);
    copiedEventObject.start = date;
    copiedEventObject.allDay = allDay;
    copiedEventObject.resource = resource.id;

    $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

    if ($('#drop-remove').is(':checked')) {
        $(this).remove();
    }
}

因此,你应该在“drop”函数中传递参数“resource”,你可以通过调用“resource.id”来获取资源ID。

祝你好运