Разделение объекта div (fc-event) для события с несколькими днями

0

Перемещение внешнего внешнего события с помощью jquery fullcalendar.

Я хотел бы знать, когда пользователь расширяет событие до нескольких дат, используя перетаскивание панели управления, если есть какие-либо возможности для создания нескольких object(fc-event) div object(fc-event)?

Теперь, показывая только один div (fc-event) для всех выбранных дней, для каждого дня необходимо разделить div s (fc-event).

  • 1
    Таким образом, при перетаскивании вы хотите создать отдельные события вместо расширения перетаскиваемого?
  • 0
    @ Ирвин Да, ты прав.
Показать ещё 2 комментария
Теги:
fullcalendar

1 ответ

1
Лучший ответ

Вы можете использовать событие eventResize:

Вызывается при изменении размера и времени события.

в случае клонирования элемента и установки новой даты начала и окончания на нем, затем визуализируйте его в календаре с renderEvent метода renderEvent; в конце не забудьте вернуть стандартный эффект изменения размера с помощью revertFunc

Код:

$('#mycalendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    editable: true,
    events: [{
        title: 'event1',
        start: '2014-05-02'
    }, {
        title: 'event2',
        start: '2014-05-10'
    }],
    eventResize: function (event, dayDelta, minuteDelta, revertFunc) {
        var originalEventObject = event;

        for (var i = 0; i < dayDelta; i++) {
            var selectedIndex = parseInt(originalEventObject._id.replace(/_fc/, '') - 1);
            var copiedEventObject = $.extend({}, $("#mycalendar").fullCalendar("clientEvents")[selectedIndex]);
            copiedEventObject.source = null;
            var newDay = new Date(copiedEventObject.start);
            newDay.setDate(newDay.getDate() + i + 1);
            copiedEventObject._id = "_fc" + parseInt($("#mycalendar").fullCalendar("clientEvents").length + 1);
            copiedEventObject.start = newDay;
            copiedEventObject.end = newDay;
            $('#mycalendar').fullCalendar('renderEvent', copiedEventObject, true);
        }

        revertFunc();
    }
});

Демо: http://jsfiddle.net/IrvinDominin/p9JFq/

  • 0
    Ооо, очень мило, Ты спас мне день, Большое спасибо !!!!
  • 0
    @ Джейсон, пожалуйста! если решено, примите ответ, используя галочку (проверьте свои старые вопросы тоже :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню