我正在使用全日历http://fullcalendar.io/
每当我的用户通过选择时间段在日历上创建事件时,他都会生成一个具有 unique_id 的事件对象,然后将其作为 JSON 推送到隐藏字段中。
select: function(start, end, id, allDay) {
// generate unique id
function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
var eventData = {
start: start,
end: end,
unique_id: guid(),
block: true,
editable: true,
backgroundColor: "#469278"
};
// console.log(moment(eventData.start["_d"]).format("dddd"));
// console.log(moment(eventData.end["_d"]).format("dddd"));
$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
// console.log(eventData);
// if (moment(eventData.start["_d"]).format("dddd") != moment(eventData.end["_d"]).format("dddd")) {
// $('#calendar').fullCalendar('unselect');
// }
// console.log(start);
var day = moment(eventData.start["_d"]).format("dddd");
var start_time = moment(eventData.start["_d"]).format("HH:mm");
var end_time = moment(eventData.end["_d"]).format("HH:mm");
var id = moment(eventData.unique_id)["_i"];
// console.log(id);
var slot = {
day: day,
start_time: start_time,
end_time: end_time,
id: id
};
array_dispo.push(slot);
$("#dispo_array").val(JSON.stringify(array_dispo));
$('#calendar').fullCalendar('unselect');
},
然后,我尝试使用 fullcalendar 方法 http://fullcalendar.io/docs1/event_data/removeEvents/ 单击该事件,从日历中删除该特定事件。
eventClick: function(event, element) {
console.log(event);
console.log(event.unique_id);
if(confirm('Voulez-vous supprimer cette dispo?')) {
$('#calendar').fullCalendar('removeEvents', event.unique_id);
}
},
不幸的是,该事件从未从日历中删除...有什么想法吗?
最佳答案
您应该使用为事件提供的字段:id
,而不是使用自定义字段unique_id
eventClick: function(event, element) {
console.log(event);
console.log(event.id);
if(confirm('Voulez-vous supprimer cette dispo?')) {
$('#calendar').fullCalendar('removeEvents', event.id);
}
},
events: [{
id: 1,
title: 'Some Event',
start: new Date(y, m, d + 1, 19, 0),
end: new Date(y, m, d + 1, 22, 30),
allDay: false
}, {
[...]
这是一个有效的示例:enter link description here
关于javascript - 无法从全日历中删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986879/