/ / Comment éviter les doublons avec dayClick? - javascript, jquery, fullcalendar

Comment empêcher la duplication contre dayClick? - javascript, jquery, fullcalendar

Avant de poser des questions, je révèle que je suis débutant.

J'utilise fullCalendar pour la première fois.

Lorsque j'ai cliqué sur la date, j'ai effectué l'enregistrement de l'événement.

    var calendar = $("#calendar").fullCalendar
({
dayClick: function (date, allDay, jsEvent, view)
{

$("#calendar").fullCalendar("renderEvent",
{
title : "휴진",
allDay : true,
start: date, //specify start date
stick : true,
backgroundColor: "#fe4978"
});
}
});

Ce code permet la duplication dans l'enregistrement d'événement.

Une fois qu'un événement est enregistré pour une date spécifique, je souhaite éviter que l'événement ne soit enregistré par la suite.

J'ai vu des documents liés à removeEvent, mais je ne sais pas comment écrire le code.

J'apprécierais vraiment si vous pouviez me donner un guide.

Réponses:

0 pour la réponse № 1

Cela pourrait vous aider @ gagné.

 $("#calendar").fullCalendar({

dayClick: function(date, allDay, jsEvent, view) {

$("#calendar").fullCalendar("clientEvents", function(event) {

if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});

Actualisé:

Ajoutez une fonction avant de stocker l'événement sélectionné dans l'objet.

function IsDateHasEvent(date) {
var allEvents = [];
// add your calendar events into the array.
allEvents = $("#calendar").fullCalendar("clientEvents");
var event = $.grep(allEvents, function (v) {
return +v.start === +date;
});

return event.length > 0;
}

et changez votre code comme suit.

dayClick: function (date, allDay, jsEvent, view) {

if (!IsDateHasEvent(date)) {
// No previous event on this date.
selectedDate = date;
eventData = {
title: title,
start: start,
stick : true,
backgroundColor: "#fe4978",
overlap: false,
};

$("#calendar").fullCalendar("renderEvent", eventData, true);
// add new appointment code.
//$("#divAddNewAppointment").dialog("open");
}
else {
//$("<%= "#" + lblMessage.ClientID%>").html(" your error msg");
$("#calendar").fullCalendar("unselect");
$("#divMessage").dialog("open");
}
}