Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery获取类名列表并添加到隐藏表单_Javascript_Jquery_Input_Timetable - Fatal编程技术网

Javascript jQuery获取类名列表并添加到隐藏表单

Javascript jQuery获取类名列表并添加到隐藏表单,javascript,jquery,input,timetable,Javascript,Jquery,Input,Timetable,我有一个时间表制作小部件,我正在为我的网站设置。主题被包含在单独的div中,然后这些div被拖到表上的列中。参见示例:(感谢您之前的帮助) 现在我有一堆隐藏的输入在桌子下面 <input type="hidden" name="monday" value=""> <input type="hidden" name="tuesday" value=""> <input type="hidden" name="wednesday" value=""> <in

我有一个时间表制作小部件,我正在为我的网站设置。主题被包含在单独的div中,然后这些div被拖到表上的列中。参见示例:(感谢您之前的帮助)

现在我有一堆隐藏的输入在桌子下面

<input type="hidden" name="monday" value="">
<input type="hidden" name="tuesday" value="">
<input type="hidden" name="wednesday" value="">
<input type="hidden" name="thursday" value="">
<input type="hidden" name="friday" value="">
<input type="hidden" name="saturday" value="">
<input type="submit" name="submit" class="btn green disabled" value='Save'>

而且每个学科部门都有一个带有ID的班级,例如
生物学

是否有任何方法可以让Javascript获取列中每个DIV的类,并根据日期(按顺序)将其添加到隐藏的输入中

这看起来很复杂,我也不知道,所以非常感谢您的帮助

我的JS已经:

<script>
$(function() {
    $( "ul li" ).each(function(){
        $(this).draggable({
            helper: "clone"
        });
    });

    $( ".day" ).droppable({
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        accept: ":not(.ui-sortable-helper)",
        drop: function( event, ui ) {
            var targetElem = $(this).attr("id");

            $( this ).addClass( "ui-state-highlight" );
            if($(ui.draggable).hasClass('draggable-source'))
                $( ui.draggable ).clone().appendTo( this ).removeClass('draggable-source');
            else
                $( ui.draggable ).appendTo( this );

            console.log(this.id)
        }
    }).sortable({
        items: "li:not(.placeholder)",
        sort: function() {
            $( this ).removeClass( "ui-state-default" );
        }
    });
})
</script>

$(函数(){
$(“ul li”)。每个(函数(){
$(此)。可拖动({
助手:“克隆”
});
});
$(“.day”).可拖放({
activeClass:“ui状态悬停”,
hoverClass:“ui状态处于活动状态”,
接受:“:非(.ui可排序帮助程序)”,
drop:函数(事件、用户界面){
var targetElem=$(this.attr(“id”);
$(this.addClass(“ui状态突出显示”);
if($(ui.draggable).hasClass('draggable-source'))
$(ui.draggable.clone().appendTo(this.removeClass('draggable-source');
其他的
$(ui.draggable).appendTo(this);
console.log(this.id)
}
}).可排序({
项目:“li:非(.占位符)”,
排序:函数(){
$(this.removeClass(“ui状态默认”);
}
});
})

mhh。。。看起来有点激动。。。试试这个(尚未测试)


嗯。。。看起来有点激动。。。试试这个(尚未测试)


不清楚您想要值的格式,所以逗号分隔作为起点是有意义的。现在还不清楚您希望触发此事件的事件是什么

$('#days .day' ).each(function(){
  var day=this.id; 
   var items= $(this).find('div').map(function(){
       /* text of item seems like only place currently to retrieve the title of item*/
       return $(this).text();
   }).get()
   $( 'input[name="'+ day+'"]' ).val( items.join(','));
});
演示:


很可能您将使用ajax提交所有数据,在这种情况下,您甚至不需要隐藏输入,只需将数组发送到服务器

就可以了,因为不清楚您想要的是什么格式的值,所以逗号分隔作为起点是有意义的。现在还不清楚您希望触发此事件的事件是什么

$('#days .day' ).each(function(){
  var day=this.id; 
   var items= $(this).find('div').map(function(){
       /* text of item seems like only place currently to retrieve the title of item*/
       return $(this).text();
   }).get()
   $( 'input[name="'+ day+'"]' ).val( items.join(','));
});
演示:


很可能您将使用ajax提交所有数据,在这种情况下,您甚至不需要隐藏输入,只需将数组发送到服务器

我应该在哪里调用此函数,我将其添加到sortable eg
的末尾是这样吗?当我查看生成的源代码时,它似乎不起作用。感谢您在需要访问数据时调用它。它似乎对我不起作用,但我可能做错了什么,我正在将它转到
alert(vals)
并运行onclick函数,但我发现Nadayah刚刚在那里进行了快速测试,效果非常好。非常感谢你!我应该在哪里调用这个函数,我将它添加到sortable eg
.sortable({….}).readThis()的末尾是这样吗?当我查看生成的源代码时,它似乎不起作用。感谢您在需要访问数据时调用它。它似乎对我不起作用,但我可能做错了什么,我正在将它转到
alert(vals)
并运行onclick函数,但我发现Nadayah刚刚在那里进行了快速测试,效果非常好。非常感谢你!我在这一行得到一个错误:
val items=$(this).find('div').map(function(){
需要一个标识符,但却找到了'items')
?我在这一行得到一个错误:
val items=$(this).find('div').map(function(){
需要一个标识符,但找到了'items'?