フィドルはこちら
複数選択可能なドラッグ可能な行を含むテーブルがありますが、それらをまとめて別のテーブルにドラッグしてそこにドロップしたい-追加の要素として他のテーブルに追加するのではなく、情報を使って何かをするために、つまり、フォームの提出。
私の例はもともと、ここで見つけた別のデモに基づいています: multi drag demo
この問題の基本的な例の HTML コードを次に示します。
<table class="DraggableThings">
<tr draggable='true'><td >Row 1</td></tr>
<tr draggable='true'><td >Row 2</td></tr>
<tr draggable='true'><td >Row 3 </td></tr>
</table>
<table id='menu_table'>
<tbody>
<tr>
<td class='droppableItem' >accomplished</td>
</tr>
</tbody>
</table>
ここにJQueryコードがあります
$('.droppableItem')
.bind('dragenter dragover', false)
.bind('drop', function(event){
accomplished($(this),event);
});
$('.DraggableThings tr').bind('click', function () {
$(this).toggleClass("selected");
});
$('.DraggableThings tr').bind('dragstart', function(event){
var mytext = event.target.innerText;
event.originalEvent.dataTransfer.setData('txt', mytext );
});
$('.DraggableThings tr').drag("init", function () {
return $('.selected');
}).drag(function (ev, dd) {
$(this).css({
top: dd.offsetY,
left: dd.offsetX
});
});
function accomplished(thing,event) {
event.dataTransfer = event.originalEvent.dataTransfer;
var data = event.dataTransfer.getData('txt');
log(data + " made it to accomplishments");
}
CSS
.selected {
background-color: #ECB;
}
フィドルはこちら
誰かが答えを知っていることを願っていますありがとう