0

各行に削除アイコンを追加する必要があり、「fnRowCallBack」で以下のコードを使用しました。

"fnRowCallback": function(nRow, aData, iDisplayIndex) {
            if(addDeleteButton) {
                var deleteIcon = $("<div>").addClass("ui-icon ui-icon-trash");
                $("<td>").addClass("delete-icon").appendTo(nRow).html(deleteIcon);
            } 
    }

ただし、「fnFilter」を使用すると、削除アイコンが毎回行に追加されます。

画像。http://i.imgur.com/jH4j5tb.png

どうすればこれを回避できますか?

4

1 に答える 1

1

Datatable は 2 つのものをキャッシュします: html (nRowノードはメモリに保持され、描画ごとに破棄および再作成されません) とデータ (aData保存され、変更しても後で変更にアクセスできます)。

「この行には既にアイコンを追加しました」という状態を確認する必要があります。

例えば ​​:

if(addDeleteButton && ($(nRow).find('.delete-icon').length == 0) ) { ... }

また :

if(addDeleteButton && !aData.deleteButtonAdded) {
    aData.deleteButtonAdded = true;
    ...
}
于 2013-10-01T07:53:44.847 に答える