Есть ли способ изменить время начала события, которое я записал в календарь.Как обновить начало Время (!) В fullcalendar.js
Событие происходит от внешнего источника, как это:
//initialize the external events
$('#external-events .fc-event').each(function() {
/* // store data so the calendar knows to render an event upon drop
$(this).data('event', {
title: $.trim($(this).text()), // use the element's text as the event title
stick: true // maintain when user navigates (see docs on the renderEvent method)
});
*/
var eventObject = {
title: $.trim($(this).text()), // use the element's text as the event title
id: $(this).data('id')
};
// store the Event Object in the DOM element so we can get to it later
$(this).data('eventObject', eventObject);
// make the event draggable using jQuery UI
$(this).draggable({
zIndex: 999,
revert: true, // will cause the event to go back to its
revertDuration: 0 // original position after the drag
});
});
Я хочу изменить/обновить время начала и Title - при необходимости - о событии в модальном диалоге. Кажется, он работает нормально, но каждый раз, когда я добавляю другое событие, перетаскивая его и хочу его изменить, он также меняет все другие перенесенные события.
eventClick: function(calEvent, jsEvent, view) {
//Sending data to modal:
$('#modal').modal('show');
$("#input_title").val(calEvent.title);
var my_time = moment(calEvent.start).format('LT');
$("#input_time").val(my_time);
var my_date = moment(calEvent.start).format("YYYY-MM-DD");
$("#input_date").val(my_date);
// waiting for button 'save' click:
$('.btn-primary').on('click', function (myEvent) {
calEvent.title = $("#input_title").val();
var my_input_time = $("#input_time").val();
var momentTimeObj = moment(my_input_time, 'HH:mm:ss');
var momentTimeString = momentTimeObj.format('HH:mm:ss');
var my_input_date = $("#input_date").val();
var momentDateObj = moment(my_input_date, 'YYYY-MM-DD');
var momentDateString = momentDateObj.format('YYYY-MM-DD');
calEvent.start = moment(momentDateString + ' ' + momentTimeString, "YYYY-MM-DD HH:mm");
$('#calendar').fullCalendar('updateEvent', calEvent);
$('#calendar').fullCalendar('unselect');
$('#modal').modal('hide');
});
}
Что я делаю неправильно?
Когда вы обновляете свое время начала или окончания и затем щелкните его, чтобы обновить его снова, каково значение времени начала? когда он сначала выводит событие на загрузку страницы, это происходит следующим образом: «2017-10-30 12:30», однако после того, как я сделаю обновление, он изменится на массив, который выглядит следующим образом: [2017, 9, 30, 0, 30, 0, 0]. С этим тоже случается? EDIT: –
EDIT: Мне удалось решить эту проблему, используя refetchEvents в моем вызове с успешным вызовом ajax. –