我对fullcalendar有这个问题,当我编辑一个事件时,一切都工作正常,但如果我尝试编辑另一个事件,我编辑的第一个事件总是得到修改。
eventClick: function(calEvent, jsEvent, view) {
var title = calEvent.title;
alert(calEvent.idcita);
var idcita = calEvent.idcita;
$("#titulo2").val(title);
$("#idCita").text(idcita);
$("#startTime").html(moment(calEvent.start).format('D MMM h:mm A'));
$("#endTime").html(moment(calEvent.end).format('D MMM h:mm A'));
$("#eventInfo").html(calEvent.description);
$("#eventContent").dialog({ modal: true, title: calEvent.title, width:350});
$(".antosubmit2").on("click", function() {
var title = $("#titulo2").val();
idcita = $("#idCita").text()
if (title) {
calEvent.title = title;
var startw = calEvent.start;
var endedw = calEvent.end;
started = moment(startw,'YYYY-MM-DD hh:mm A');
ended = moment(endedw,'YYYY-MM-DD hh:mm A');
$.ajax({
url: '/calendar/mod_cita',
data: 'id='+idcita+'&title='+calEvent.title+'&start='+started.format('YYYY-MM-DD HH:MM:SS')+'&end='+ended.format('YYYY-MM-DD HH:MM:SS'),
type: 'POST',
dataType: 'json',
success: function(response){
// event.id = response.eventid;
calEvent.idcita = response.id;
$('#calendar').fullCalendar('updateEvent',calEvent);
console.log('Se edito correctamente');
},
error: function(e){
// console.log(e.responseText);
}
});
alert('dentro de editar:'+idcita+'y el evento es:'+calEvent.idcita); // Here I get the correct id for the clicked event but always the same calEvent (clicked the first time)
$('#titulo2').val('');
$('#calendar').fullCalendar( 'rerenderEvents' )
$('#calendar').fullCalendar( 'refresh' )
$('#calendar').fullCalendar('unselect');
$("#eventContent").dialog('close');
};
});
我已多次阅读文档,但我无法弄清楚这一点,为什么我点击的第一个事件保持选中状态? 我正在使用.fullcalendar('unselect')方法。 添加功能正常 调整大小工作确定无论我尝试多少次都无关紧要 从1个日期到其他日期的更改工作正常 删除我可以删除1个或多个事件,这里没问题。
但我只能编辑1个事件。
答案 0 :(得分:0)
我发现了错误,这是它的代码。我应该把ajax放在对话框按钮功能中。
eventClick: function(calEvent, jsEvent, view) {
var title = calEvent.title;
var idcita = calEvent.idcita;
var origEvent = calEvent;
$("#titulo2").val(title);
$("#idCita").text(idcita);
$("#startTime").html(moment(calEvent.start).format('D MMM h:mm A'));
$("#endTime").html(moment(calEvent.end).format('D MMM h:mm A'));
$("#eventInfo").html(calEvent.description);
$("#eventContent").dialog({
sutoOpen: false,
modal: true,
draggable: true,
title: calEvent.title,
width:350,
buttons: {
"Salvar": function() {
var title = $("#titulo2").val();
idcita = $("#idCita").text()
calEvent.title = title;
var startw = calEvent.start;
var endedw = calEvent.end;
started = moment(startw,'YYYY-MM-DD hh:mm A');
ended = moment(endedw,'YYYY-MM-DD hh:mm A');
$.ajax({
url: '/calendar/mod_cita',
data: 'id='+idcita+'&title='+calEvent.title+'&start='+started.format('YYYY-MM-DD HH:MM:SS')+'&end='+ended.format('YYYY-MM-DD HH:MM:SS'),
type: 'POST',
dataType: 'json',
success: function(response){
// event.id = response.eventid;
calEvent.idcita = response.id;
$('#calendar').fullCalendar('updateEvent',calEvent);
console.log('Se edito correctamente');
},
error: function(e){
// console.log(e.responseText);
}
});
$('#titulo2').val('');
$('#calendar').fullCalendar( 'rerenderEvents' )
$('#calendar').fullCalendar( 'refresh' )
$('#calendar').fullCalendar('unselect');
//$("#eventContent").dialog('close');
// $('.antoclose2').click();
$(this).dialog("close");
}
}
});
$("#eventContent").dialog('open');
},