我敢肯定这很简单,通常是这样。
$('#sort-table').tableDnD({
onDragClass: "dnd_drag",
onDragStart: function(table, row) {
console.log("start drag");
},
onDrop: function(table, row) {
console.log($.tableDnD.serialize());
},
dragHandle: ".dragHandle"
});
我将上面的代码用于jQuery表排序插件tableDnD。这是它们提供的示例中的准确代码,但是当我将表中的项目放下时,它不会正确触发onDrop事件。我在控制台中没有任何回应。该表确实已初始化,并且拖动句柄正常工作,因此我至少知道部分代码正确。我唯一无法工作的是onDrop命令。
更新:
我更新了上面的代码,添加了onDragStart和onDragClass,两者都可以正常工作,只是onDrop函数失败。
这是我的一般表格布局:
<table id="sort-table">
<tbody class="sort-items">
<tr class="1">
<td class="dragHandle"></td>
...
</tr>
...
</tbody>
</table>
最佳答案
您必须定义tr [id]属性以使onDrop起作用。
这是因为onDrop仅在行顺序更改时才触发。
但是,如果不指定tr [id]属性,tableDnD.serialize()会认为没有任何重新排序。 (肯定是错误)