Javascript jQuery获取类名列表并添加到隐藏表单
我有一个时间表制作小部件,我正在为我的网站设置。主题被包含在单独的div中,然后这些div被拖到表上的列中。参见示例:(感谢您之前的帮助) 现在我有一堆隐藏的输入在桌子下面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
<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'?