15

問題:

  • 仕事関連のプロジェクトに JQuery DataTables v1.10 を使用しています。
  • このプロジェクトでは、Datatable を定義し、テーブルの値として渡された解析済みの JSON データを使用して作成する必要があります
  • データテーブルが作成されると、各列のすべてのセルに、ポップインを開いてエンドポイントから受信した JSON の名前のリストを渡すクリック イベントが必要です。エンドポイントは、クリックされたテーブル セルに応じて変化します。

  • 私は、データ テーブルのインスタンス化時に、各テーブル セル要素で定義された HTML5 データ属性にある種の一意の情報を格納する必要があると思います。カスタム データ属性 (例: data-endpoint = "endpoint id") を宣言したいと思っていましたが、テーブル行が DataTables を介して動的に生成されている場合にそれが可能かどうかはわかりません。

私は自分のオプションが何であるかを知らない/理解していないので、私が理想的にやりたいことを説明したいと思います:

  • データテーブルをインスタンス化し、解析済みの JSON データを渡します。
  • テーブルのインスタンス化で、各テーブル セル要素にカスタム データ属性を設定します。
  • テーブル セルのクリック イベントにアクセスし、正しいデータ属性に格納されている情報を渡して、正しいエンドポイントを取得します。
  • エンドポイントから受け取った結果を表示する popin を作成します。

私が理解していない部分は、テーブルのセル要素にカスタム データ属性を作成する方法です。これは可能ですか、それとも別のアプローチを考える必要がありますか。どんな助けでも大歓迎です!

4

2 に答える 2

19

createdRowインスタンス化時にコールバックを試すことができます。例:

$table.dataTable({

    "destroy": true, // To replace existing data
    "data": jsonData,
    "columns": columns,

    // Per-row function to iterate cells
    "createdRow": function (row, data, rowIndex) {
        // Per-cell function to do whatever needed with cells
        $.each($('td', row), function (colIndex) {
            // For example, adding data-* attributes to the cell
            $(this).attr('data-foo', "bar");
        });
    }
});

これは、必要なことを行うのに役立つと思います。

于 2014-10-06T06:56:33.040 に答える