添加事件中的全日历放置



我正在改变我的职责。我在项目中使用完整日历。我还想使用我在 drop 事件中使用的回调。简而言之,我想将我从列表中拖动的事件添加到日历中,我该如何删除? 提前致谢

Javascript;

$('#m_calendar').fullCalendar({
drop: function (date, jsEvent, ui, resourceId) {
jsEvent.originalEvent.preventDefault();
var title = jsEvent.target.dataset.title;
var start = jsEvent.target.dataset.start;
var end = jsEvent.target.dataset.end;
var id = jsEvent.target.dataset.id;
var newEvent = new Object();
newEvent = {
title: title,
id: id,
start: start,
end: end,
objectID: 0
};
eventsAdded.push(newEvent);   
},
events: function (start, end, timezone, callback) {
$.ajax({
url: '/Schedule/GetCalendarEvents',
dataType: 'xml',
data: {
start: start.unix(),
end: end.unix()
},
success: function (doc) {
var events = [];
$(doc).find('event').each(function () {
events.push({
id: $(this).attr('id'),
title: $(this).attr('title'),
start: $(this).attr('start'),
end: $(this).attr('end')
});
});
callback(events);
},
error: function () {
alert('there was an error while fetching events!');
},
});
},
});

你有两个选择,要么

1)如果您将事件数据包含在拖到日历上的draggable的属性中,则当您放下日历时,该事件将自动添加到日历中。有关如何指定数据的详细信息,请参阅 https://fullcalendar.io/docs/eventReceive。另请参阅 https://fullcalendar.io/docs/external-dragging-demo 的外部拖动演示以获取工作示例 - 您可以查看链接的 CodePen 中的源代码以了解它是如何完成的。

2)要修改您当前的代码,只需调用

$("#m_calendar").fullCalendar("renderEvent", newEvent, true);

在"丢弃"回调结束时。

这会将新事件添加到日历显示中。当然,如果您还需要将其添加到数据库中,则需要同时对服务器进行适当的调用。

有关文档,请参阅 https://fullcalendar.io/docs/renderEvent。


附言这曾经是一个完全不同的问题,直到您对其进行编辑(请参阅问题的编辑历史记录)。以后请不要将问题编辑为新问题...有人可能仍然想回答以前的版本。而是问一个全新的问题(如果您不再需要旧问题,请删除它)。否则,以前的评论或答案(例如我在此处发布并现已删除的评论)将毫无意义。谢谢。

相关内容

  • 没有找到相关文章

最新更新