Javascript jQuery循环为每个';下降';

Javascript jQuery循环为每个';下降';,javascript,jquery,loops,for-loop,while-loop,Javascript,Jquery,Loops,For Loop,While Loop,我有一个拖放式日历,“拖放”时需要将详细信息传递到变量中 到目前为止,我已经设法让它附加到一个文本区域,这样我就可以看到它正在记录数据,或者创建一个隐藏字段,它将进行最后一次删除 但是,我需要每个项目都位于一个隐藏字段中,这样我就可以将其传递到下一个页面,然后在该页面上用PHP进行处理 我猜我需要某种类型的循环,所以对于每一滴…生成隐藏字段 但是我没有运气让它工作 这是我的密码。任何帮助都会非常有用 谢谢 drop: function(date, allDay) { // this funct

我有一个拖放式日历,“拖放”时需要将详细信息传递到变量中

到目前为止,我已经设法让它附加到一个文本区域,这样我就可以看到它正在记录数据,或者创建一个隐藏字段,它将进行最后一次删除

但是,我需要每个项目都位于一个隐藏字段中,这样我就可以将其传递到下一个页面,然后在该页面上用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();

        }
    });


});

您可以做的是使listbox成为一个“ul”元素,如下所示

<ul id = "listbox"> 

 </ul>

谢谢这是有道理的。如何从该类获取所有项目?我还需要循环吗?好的,那部分现在工作得很好。然而,它仍然采用最新的变量。我需要一种方法来创建一个隐藏字段,每次使用不同的名称?您不需要做的唯一事情是将listbox设置为隐藏字段,然后使用“listItem”变量来完成工作。这意味着您可以取消“var输入”的使用,并且您不必在“日历表单”中添加任何内容,因为“列表框”是表单的一部分,您已经在表单中添加了项目。希望这是清楚的
document.createElement()
setAttribute()
要设置值吗?您正在使用jQuery,所以让我们远离这些东西。除此之外,使用原生JS设置值的正确方法是
input.value=谢谢。我现在已经更新了。
var txt = $('#listbox');     
txt.append("<li class ='listItem'> "+dtstart +"</li>")
var listItems = $('.listItem');

listItems.each(function(){
    // your code goes here for each record
});