beim hinzufügen von events zu Fullcalendar durch externe drag-and-drop item nicht bekommen id

Ich bin mit FullCalendar externen drag-and-drop, mit seinem code. http://arshaw.com/js/fullcalendar-1.5.2/demos/external-dragging.html

drop: function(date, allDay) { //this function is called when something is dropped

            //retrieve the dropped element's stored Event Object
            var originalEventObject = $(this).data('eventObject');

            //we need to copy it, so that multiple events don't have a reference to the same object
            var copiedEventObject = $.extend({}, originalEventObject);

            //assign it the date that was reported
            copiedEventObject.start = date;
            copiedEventObject.allDay = allDay;

            //render the event on the calendar
            //the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
            $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

            //is the "remove after drop" checkbox checked?
            if ($('#drop-remove').is(':checked')) {
                //if so, remove the element from the "Draggable Events" list
                $(this).remove();
            }

        }

Jedes Ding ist okay, aber ich möchte, um dieses Ereignis fiel auf meine Datenbank. So habe ich meine add-dialog codes hier.

var eventToAdd = {
                title: $.trim($(this).text()),
                //title: $(this).attr('id'),
                description: $(this).attr('original-title'),
                start: date.format("dd-MM-yyyy hh:mm:ss tt"),
                end: date.format("dd-MM-yyyy hh:mm:ss tt")

        };

        if (checkForSpecialChars(eventToAdd.title) || checkForSpecialChars(eventToAdd.description)) {
            alert("please enter characters: A to Z, a to z, 0 to 9, spaces");
        }
        else {
            //alert("sending " + eventToAdd.title);

            PageMethods.addEvent(eventToAdd, addSuccess);
        }

Also das Ergebnis ist,

drop: function (date, allDay) { //this function is called when something is dropped

                if($(this).attr('id')=='')
                    return;
            //retrieve the dropped element's stored Event Object
            var originalEventObject = $(this).data('eventObject');

            //we need to copy it, so that multiple events don't have a reference to the same object
            var copiedEventObject = $.extend({}, originalEventObject);

            //assign it the date that was reported
            copiedEventObject.start = date;
            copiedEventObject.allDay = allDay;

            $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

            $(this).remove();


            var eventToAdd = {
                title: $.trim($(this).text()),
                //title: $(this).attr('id'),
                description: $(this).attr('original-title'),
                start: date.format("dd-MM-yyyy hh:mm:ss tt"),
                end: date.format("dd-MM-yyyy hh:mm:ss tt")

            };

            if (checkForSpecialChars(eventToAdd.title) || checkForSpecialChars(eventToAdd.description)) {
                alert("please enter characters: A to Z, a to z, 0 to 9, spaces");
            }
            else {
                //alert("sending " + eventToAdd.title);

                PageMethods.addEvent(eventToAdd, addSuccess);
            }
        }

Ereignis gezeigt wird, der Fall ist ziehbar, aber nicht die Id. Ich denke, die Veranstaltung, die gerendert in dieser Zeile ist nicht im Zusammenhang mit der Veranstaltung an die Datenbank gesendet:

$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
Schreibe einen Kommentar