0

「ドロップ時に」詳細を変数に渡す必要があるドラッグアンドドロップカレンダーがあります。

これまでのところ、テキストエリアに追加することができたので、データが正常に記録されているか、最後のドロップを取る隠しフィールドを1つ作成していることがわかります。

ただし、次のページに渡して PHP で処理できるように、各項目を隠しフィールドに入れる必要があります。

私はある種のループが必要になると推測しているので、ドロップごとに...隠しフィールドを生成します。

しかし、私はそれを機能させることができません。

これが私のコードです。どんな助けでも本当に役に立ちます。

ありがとう

 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);


            //Record and add dropped items to list
            var txt = $("#listbox");
            var dtstart = copiedEventObject.start + '\n'
            var caltitle = copiedEventObject.title

            txt.val(txt.val() + dtstart); // For our reference - Remove later

                var input = document.createElement("input");
                input.setAttribute("type", "hidden");
                input.setAttribute("name", "dtstart");
                input.setAttribute("value", dtstart);

                //append to form element that you want .
                document.getElementById("calendarform").appendChild(input)

            // remove the element from the "Draggable Events" list
            $(this).remove();

        }
    });


});
4

1 に答える 1

0

できることは、次のようにリストボックスを「ul」要素にすることです

<ul id = "listbox"> 

 </ul>

次に、次のjqueryを関数に追加します

var txt = $('#listbox');     
txt.append("<li class ='listItem'> "+dtstart +"</li>")

最後に、同じクラスの <.li> (ドットがある場合は回答に表示されません) 要素のリストが表示されます。次に、クラス「listItem」のすべての要素を取得し、値を次のページに渡すことができます

この答えが明確であることを願っています

編集

「listItem」クラスのすべての値を取得するには、次のようにします

var listItems = $('.listItem');

listItems.each(function(){
    // your code goes here for each record
});
于 2012-05-09T11:46:27.973 に答える