我敢肯定这很简单,通常是这样。

$('#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()会认为没有任何重新排序。 (肯定是错误)

08-17 08:44