[英]Getting the event id in fullcalendar object event
我正在使用http://fullcalendar.io/。我的用戶可以創建多個事件來表明他的責任。 每當他選擇一個廣告位時,他都會創建一個事件:
$('#calendar').fullCalendar({
defaultView: 'agendaWeek',
lang: "fr",
header: false,
timezone: 'local',
minTime: "08:00:00",
columnFormat: 'dddd',
selectHelper: true,
selectable: true,
select: function(start, end, id, allDay) {
var eventData = {
start: start,
end: end,
block: true,
editable: true,
id: id,
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');
// };
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.end["_id"]);
var slot = {
day: day,
start_time: start_time,
end_time: end_time
};
array_dispo.push(slot);
$("#dispo_array").val(JSON.stringify(array_dispo));
$('#calendar').fullCalendar('unselect');
},
editable: true,
eventLimit: true,
eventClick: function(event, element) {
if(confirm('Voulez-vous supprimer cette dispo?')) {
$('#calendar').fullCalendar('removeEvents',event._id);
}
},
selectOverlap: function(event) {
return ! event.block;
}
});
});
// 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');
// };
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.end["_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');
},
每次用戶選擇一個時隙時,它都會使用我指定的eventData創建一個事件對象http://fullcalendar.io/docs/event_data/Event_Object/ ,並在隱藏字段中將其作為JSON發送。 問題是我沒有設法獲取這個事件對象的id,我想它是由fullcalendar發送的。 我做console.log(eventData);
時得到的對象console.log(eventData);
是:
Object {start: Moment, end: Moment, id: jQuery.Event, block: true, editable: true…}
但是這個jQuery.event
沒有唯一的ID,它看起來像這樣:
id: jQuery.Event
altKey: false
bubbles: true
button: 0
buttons: 0
cancelable: true
clientX: 336
clientY: 290
ctrlKey: false
如果以后要刪除或修改事件對象,則需要此ID。 如何獲取此事件ID?
您可以在eventData
對象中指定自己的ID,在給出的示例中為1 。 確保具有這些唯一性,然后您可以將此ID傳遞給.fullCalendar( 'removeEvents' [, idOrFilter ] )
例如。
在以下位置找到創建唯一ID的示例: 在JavaScript中創建GUID / UUID?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.