[英]fullcalendar cannot manage to delete last event in calendar
I am using fullcalendar http://fullcalendar.io/ User can create and delete events in the calendar. 我正在使用fullcalendar http://fullcalendar.io/用户可以在日历中创建和删除事件。 Relevant information about events are sent in a hidden field as JSON. 有关事件的相关信息以JSON形式在隐藏字段中发送。 This works when user is creating events but I didnt manage to make it correctly update the hidden field when user is deleting events. 当用户创建事件时此方法有效,但是当用户删除事件时我没有设法使其正确更新隐藏字段。 Here's the eventclick callback of my $('#calendar').fullCalendar
这是我的$('#calendar').fullCalendar
的eventclick回调
eventClick: function(event, element) {
if(confirm('Voulez-vous supprimer cette dispo?')) {
$('#calendar').fullCalendar('removeEvents', event._id);
var array_all_events = [];
var all_events = $('#calendar').fullCalendar('clientEvents');
// console.log(all_events);
$.each(all_events, function(index, value) {
// console.log(value.start["_d"]);
// console.log(index);
var day = moment(value.start["_d"]).format('dddd');
var start_time = moment(value.start["_d"]).format("HH:mm");
var end_time = moment(value.end["_d"]).format("HH:mm");
// var id = value.unique_id["_i"];
var slot = {
day: day,
start_time: start_time,
end_time: end_time,
};
array_all_events.push(slot);
console.log(array_all_events.length);
if (array_all_events.length == 0) {
$("#dispo_array").val("");
}
else {
$("#dispo_array").val(JSON.stringify(array_all_events));
}
});
}
},
The script actually works when there is more than one hash in array_all_events but I cannot get it to update #dispo_array
to an empty string when array_all_events is empty. 当array_all_events中有多个哈希时,该脚本实际上可以工作,但是当array_all_events为空时,我无法获取它来将#dispo_array
更新为空字符串。
I got it to work by getting the if and else statement out of the each loop. 我通过使if和else语句脱离每个循环来使其工作。
eventClick: function(event, element) {
if(confirm('Supprimer cette disponibilité?')) {
$('#calendar').fullCalendar('removeEvents', event._id);
var array_all_events = [];
var all_events = $('#calendar').fullCalendar('clientEvents');
// console.log(all_events);
$.each(all_events, function(index, value) {
// console.log(value.start["_d"]);
// console.log(index);
var day = moment(value.start["_d"]).format('dddd');
var start_time = moment(value.start["_d"]).format("HH:mm");
var end_time = moment(value.end["_d"]).format("HH:mm");
// var id = value.unique_id["_i"];
var slot = {
day: day,
start_time: start_time,
end_time: end_time,
};
array_all_events.push(slot);
// console.log(array_all_events.length);
});
if (array_all_events.length == 0) {
console.log("hello");
$("#dispo_array").val("");
}
else {
console.log(typeof(array_all_events));
console.log(array_all_events.length);
$("#dispo_array").val(JSON.stringify(array_all_events));
}
}
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.