我最近与FullCalendar合作以进行预订系统。问题是,每当我选择一个时间范围时,所有这些都会添加到EventData对象中。我要做的是仅选择一个时间范围。
当我单击$('#btn-reserve')
按钮时,它应该在日历上渲染事件。
发生的事情是,即使我以前的选择也在日历上呈现。我只想渲染我做的最后选择。
这是我的代码
$('.calendar').fullCalendar({
selectable: true,
select: function(start, end) {
$('#end_time').val(end);
$('#start_time').val(start);
$('#newScheduleModal').modal({
show : true,
backdrop: 'static',
keyboard: false
});
$('#btn-reserve').click(function(){
eventData = {
title: 'Lesson Schedule',
start: start,
end: end
};
$('.calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
$('#newScheduleModal').modal('hide');
});
$('#btn-cancel-reserve').click(function(){
$('.calendar').fullCalendar('unselect');
eventData = {};
})
},
})
您每次选择日历时都会添加新的点击事件。在添加之前,您需要请单击点击:
$('#btn-reserve').off('click').click(function
您可能想为"#BTN-Cancel-Reserve"元素做同样的事情。