2016-11-07 265 views
1

我正在使用FullCalendar和jQuery UI將「Days Off」拖放到我的日曆上作爲後臺事件。FullCalendar通過ID刪除外部事件

由於您無法點擊FullCalendar中的後臺事件,因此我正在創建一個列表,其中包含我的休息日以及它們旁邊的「刪除」按鈕,並將事件標識作爲數據屬性。

但是,當我單擊「刪除」按鈕時,即使它具有正確的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); 

}); 

您能否讓我知道如何通過點擊相應的按鈕來刪除事件?同樣,理想情況下,我希望這些正在拖動的事件被渲染爲背景事件。

UPDATE

我添加了一個事件,並在負載其相應的按鈕,頁面,功能刪除事件工作,因爲該事件是在頁面加載渲染。那麼,我需要做些什麼不同的事情才能使外部事件被刪除到日曆上,並且可以以相同的方式進行移除?

回答

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一個不能正常工作。

您還可以刪除li日期/按鈕條目與$(this).parent()。remove();裏面的點擊處理程序。

+0

非常感謝!太棒了!我不知道爲什麼我的身份證不起作用,但我很高興知道_id的作品! – Aaron