我正在使用FullCalendar和jQuery UI将“Days Off”拖动到我的日历上作为背景事件。
由于您无法点击FullCalendar中的背景事件,因此我创建了一个关闭日期的列表,并在其旁边显示“删除”按钮,并将事件ID作为数据属性。
但是,当我点击“删除”按钮时,即使它具有正确的ID,也不会删除该事件。
请看一下这个jsFiddle:https://jsfiddle.net/aaroncadrian/odhL964L/
为了向您显示事件ID已正确更新,我删除了事件的背景渲染,以便您可以单击该事件以显示其ID。您还可以在按钮及其data-id属性中查看事件ID。以下是删除事件的代码,但不起作用。
$('.remove').click(function(){
// Get the ID for the event from the button
var id = $(this).data('id');
// Remove the event. **DOES NOT WORK**
$('#calendar').fullCalendar('removeEvents', id);
});
是否可以通过点击相应的按钮告诉我如何删除活动?同样,理想情况下,我希望将这些被拖动的事件渲染为背景事件。
更新
我在加载时向页面添加了一个事件及其相应的按钮,并且自从事件在页面加载时呈现以来,删除事件的函数仍然有效。那么我需要采取哪些不同的做法,以便删除到日历上的外部事件将以相同的方式移除?
答案 0 :(得分:1)
https://jsfiddle.net/oLe2Lgxs/
更改了
var button = '<button class="remove" data-id="' + event.id +'">Remove (' + event.id + ')</button>'; // Create remove button with data-id attribute with event ID
到
var button = '<button class="remove" data-id="' + event._id +'">Remove (' + event.id + ')</button>'; // Create remove button with data-id attribute with event ID
和
$('.remove').click(function(){
到
$('#daysOff').on('click', 'button.remove', function(){
让它从日历中删除项目。
不确定为什么使用内部事件 _id 适用于您指定的 ID 一个没有工作的地方。
您还可以在点击处理程序中删除 $(this).parent()。remove(); 的 li 日期/按钮条目。