すべてのデータを一度にロードしていたデータテーブルがありますが、データセットが非常に大きくなってしまうため、サーバー側をすべて移動することにしました。DataTablesクリック可能なサーバー側の行リンクJSON
は、以前私が「データのurl」属性は、この機能でクリックをリッスンを使用することにより、各行へのリンクを埋め込むことができました:
$('#table tbody').on('click', 'tr', function() {
var url = this.getAttribute("data-url")
window.open(url, "_self");
});
それはそのように完全に働いたが、私は持っていませんAJAXとJSONを使ってこの作業を行う方法を理解できました。私はDataTableの行にデータ-url属性を追加してもらうかどうかはわかりませんが
{"recordsFiltered": 1, "recordsTotal": 6,
"data": [{"4": "", "6": "", "7": "Online", "3": "", "DT_RowClass": "success",
"5": "", "data-url": "/relative-url/pk/", "2": "TestType2",
"0": "Test", "1": "ABCD"}], "draw": "11"}
:
私のJSONレスポンスは次のようになります。私はこのユースケースの例を見つけるためにドキュメントを精査してきましたが、今まで運がなかったのです。
組み込みの機能がない場合、DataTablesがJSONデータに読み込む関数をオーバーライドする必要があると思いますが、その方法はわかりません。
私はJavaScriptよりも自分のサーバー側の言語がはるかに優れていますので、可能であればもっと具体的な回答に感謝します。
あなたは
ありがとう、それはまさに私が必要としたものです。 JSONレスポンスの "data-url"を "8"に変更する必要がありました。なぜなら、その関数のデータリストになかったからです。その後、インデックスを調整してあなたの例を使って完全に検索することができました。 – Del
これにはdocs ['createdRow'](https://datatables.net/reference/option/createdRow)による方が効率的です。 –
ありがとう、@ Gyrocode.com私はより完全にドキュメントを読む必要があります。 – annoyingmouse