1. ホーム
  2. jquery

[解決済み] 新しいJSONデータでdatatablesテーブルを手動で更新する方法

2022-10-17 03:52:59

質問

私は、プラグイン jQuery datatables というプラグインを使っていて、ページの一番下のDOMに読み込んだデータを読み込んで、この方法でプラグインを起動させています。

var myData = [
    {
        "id": 1,
        "first_name": "John",
        "last_name": "Doe"
    }
];

$('#table').dataTable({
    data: myData
        columns: [
        { data: 'id' },
        { data: 'first_name' },
        { data: 'last_name' }
    ]
});

今、私はいくつかのアクションを実行した後、Ajaxを使用して新しいデータを取得し、これらのデータでテーブルを更新したい(ただし、データテーブルで構築するAjaxオプションではありません - 私を誤解しないでください!)。datables APIを使用して、どのようにそれを行うことができますか?ドキュメントは非常に混乱しており、私は解決策を見つけることができません。どんな助けでも非常に高く評価されます。ありがとうございます。

どのように解決するのですか?

解決方法。 (注意: この解決策は、datatables バージョン 1.10.4 (現時点) のものであり、レガシーバージョンではありません)。

明確化 により API ドキュメント (1.10.15) によると、APIには3つの方法でアクセスすることができます。

  1. DataTablesの現代的な定義(大文字キャメルケース)。

    var datatable = $( selector ).DataTable();

  2. DataTablesのレガシー定義(キャメルケース小文字)。

    var datatable = $( selector ).dataTable().api();

  3. を使用することで new 構文を使用します。

    var datatable = new $.fn.dataTable.Api( selector );

次に、このようにデータを読み込みます。

$.get('myUrl', function(newDataArray) {
    datatable.clear();
    datatable.rows.add(newDataArray);
    datatable.draw();
});

使用方法 draw(false) を使って、データ更新後も同じページに留まるようにします。

APIのリファレンスです。

https://datatables.net/reference/api/clear()

https://datatables.net/reference/api/rows.add()

https://datatables.net/reference/api/draw()