1

jquery.tablednd.0.7.min.jsテーブルの行をドラッグアンドドロップするために使用しています。テーブルに新しい行を動的に追加すると (つまり、JavaScript で行を追加すると)、その新しい行はドラッグ アンド ドロップされませんでした。テーブルに既に存在する他の行はドラッグできます。

この新しい行は、jQuery のドラッグ アンド ドロップ コードと同期されていないと思います。

このように新しい行を追加しています。

これは jquery dragnDrop ファイル コードです。

ページの読み込み時に、このコードを使用してこの機能をテーブルに割り当てています

$(document).ready(function() {
    $("#tableId").tableDnD({
        onDragClass : "myDragClass",
        onDrop : function(table, row) {

        },
        onDragStart : function(table, row) {
            console.log("drag start");
        }
    });
});
4

6 に答える 6

9

使うだけ$("#tableId").tableDnDUpdate()

ドキュメントから:

Will update all the matching tables, that is it will reapply the mousedown method to the rows (or handle cells). This is useful if you have updated the table rows using Ajax and you want to make the table draggable again. The table maintains the original configuration (so you don't have to specify it again).

于 2013-07-10T22:01:42.510 に答える
6

tableDnD関連するイベントを再バインドする必要がある行の追加を行うコードは示していませんが、次のようになります。

$(document).ready(function() {
    //on load
    addTableDnD();

    //appending a row
    $(".add-row").click(function() {
        $("<tr />").appendTo("#tableId");
        addTableDnD(); // re-attach events to pick up the new row.
    });
});

function addTableDnD() {
    $("#tableId").tableDnD({
        onDragClass : "myDragClass",
        onDrop : function(table, row) {

        },
        onDragStart : function(table, row) {
            console.log("drag start");
        }
    });
}
于 2012-09-28T08:13:07.360 に答える
3

単純な:

$("#tableId").tableDnDUpdate()

その新しい行を追加した後。

于 2014-10-27T19:04:39.483 に答える
2

これを試してください:

function sample()
{
        $("#tableId").tableDnD({
            onDragClass : "myDragClass",
            onDrop : function(table, row) {

            },
            onDragStart : function(table, row) {
                console.log("drag start");
            }
        });

}

本文のオンロードで sample() 関数を呼び出し、新しい行エントリのたびにもう一度 sample() 関数を呼び出します。

注: 2 回の問題を回避するには、jquery で「ライブ」機能を使用してみてください。

于 2012-09-28T08:22:51.997 に答える
0

新しく追加された行 tr が既存の行と同じ ID を持つ場合、tablednd はそれをドラッグ可能にしない場合があります。

于 2014-02-17T23:26:29.247 に答える