2016-03-24 3 views
0

ich benutze die Funktion eventClick auf fullcalendar und ich habe das folgende Problem, wenn ich auf ein Ereignis ein Modal öffnet und ich kann dieses bestimmte Ereignis zu bearbeiten, und Wenn ich auf "Speichern" klicke (mit einer weiteren Onclick-Funktion), wird bestätigt, dass so oft ausgelöst wird, wie das Modal zuvor geöffnet wurde.alert/Confirm feuert mehrere Male auf bootstrap modal mit fullCalendar eventClick

lassen Sie es mich mit meinem Stück Code erklären ..

eventClick: function (calEvent, jsEvent, view) { 

    $('#myModalEditEvent').modal('show'); 

    $("#deleteEventfromEditModal").click(function() { 
       if (!confirm("are you sure?")) { 
        return 0; 
       } 
       else { 
        var classID = calEvent.id; 

        var deleteRequest = { 
         classID: classID, 
        }; 

        var dataString = JSON.stringify(deleteRequest); // parsing the request above. 
        $.ajax({  // starting an ajax func 
         }) 
       }; 
      }); 
} 

das ist mein HTML-Code:

<div class="modal fade" id="myModalEditEvent" role="dialog"> 
    <div class="modal-dialog modal-sm"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title" id="EditEventHeader"></h4> 
      </div> 
      <div class="modal-body"> 
       <div class="form-group"> 
        <select id="ClassesDDLEdit" class="form-control"></select> 
       </div> 
       <div class="form-group"> 
        <select id="GuidesDDLEdit" class="form-control"></select> 
       </div> 
       <div class="input-group bootstrap-timepicker timepicker"> 
        <input id="classStartTimeEdit" type="text" class="form-control input-small" placeholder="Start time"> 
        <span class="input-group-addon"><i class="glyphicon glyphicon-time"></i></span> 
       </div><br /> 
       <div class="input-group bootstrap-timepicker timepicker"> 
        <input id="classEndTimeEdit" type="text" class="form-control input-small" placeholder="start time"> 
        <span class="input-group-addon"><i class="glyphicon glyphicon-time"></i></span> 
       </div><br /> 
       <div class="modal-footer"> 
        <button type="button" id="AddEventAfetEditing" class="btn btn-info center-block" data-toggle="modal" data-target="#myModalEditEvent">Save</button><br /> 
        <button type="button" id="deleteEventfromEditModal" class="btn btn-danger glyphicon glyphicon-trash center-block" data-toggle="modal" data-target="#myModalEditEvent"></button> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

was kann ich tun, um es zu verhindern?

danke die ganze hilfe!

Antwort

0

Ändern Sie Ihre folgende Zeile

$("#deleteEventfromEditModal").click(function() { 

als Da

$("#deleteEventfromEditModal").unbind("click").click(function() { 

folgen auf jedem Klick ein Klick-Ereignis sind verbindlich. Daher müssen Sie es jedes Mal lösen

+0

Hoffentlich wird es für Sie arbeiten. Lass es mich wissen –

+0

vielen Dank! es funktioniert! – Eitanmg

0

sollten Sie dies tun

$("#deleteEventfromEditModal").click(function() { 
       ... 
}); 

außerhalb des eventClick, und tun es in der Seite zu laden z.Bsp.

$(document).ready(function(e){...})

Verwandte Themen