我正在为我的网站设置一个时间表制作小部件。主题包含在单独的 DIV 中,然后将其拖到表格上的列中。参见示例:http://jsfiddle.net/x5T4h/2/ (感谢您之前的帮助)
现在我在表格下方有一堆隐藏的输入
<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'>
每个主题 DIV 都有一个带有 ID 的类,例如 <div id="drag" class="21">Biology</div>
有什么方法可以让 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>
最佳答案
嗯...似乎有点棘手...试试这个(尚未测试)
window.readDays = function() {
$( 'table#days .day' ).each( function() {
var vals = [];
$( '.ui-draggable > div', $(this) ).each(function() {
vals.push( $(this).attr('class') );
} );
$( 'input[name="'+ $(this).attr('id') +'"]' ).val( vals.join(','));
} );
}
关于javascript - jQuery 获取类名列表并添加到隐藏表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108804/