0

一度にデータのチャンクをロードする無限スクロール テーブルを実装したいのですが、それを並べ替え (表示されている行だけでなく、テーブル全体)、フィルタリングできるようにしたいと考えています。そうするために Footables プラグインを試しましたが、データを非同期にロードすると、ソートもフィルタリングもされず、本当に欲しいものを達成できません..

どうすればこの実装を達成できますか? それが別のライブラリ、Angular、またはその他のものであるかどうかは気にしません。しかし、私はすでに試したことから新鮮な空気が必要です.

スクロール時にデータを完全にロードするコードを貼り付けますが、ソートはしません (明らかに ajax では機能しません)。

表のマークアップ:

<table data-sorting="true" class="table table-hover footable" data-page-size="30">
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Date</th>
            <th>Actions</th>
        </tr>                   
    </thead>
    <tbody>
    </tbody>
</table>

JS

var win = $(window);
win.scroll(function() {
    if(win.scrollTop() + win.height() >= $(document).height()) {
        getData();
    }
});

function getData(){ 
    var container = $('table tbody');
    var displayedElements = container.children('tr').length;
    var ajaxUrl = '/some/api';
    $.ajax({
        type: "GET",
        url: ajaxUrl,
        data: {
            displayedData: displayedElements
        },
        success : function(html) {
            $('table tbody').append(html);
            var page_size = $('table').data('page-size');
            $("table").attr('data-page-size', page_size + 30);
            $('table tbody').trigger('footable_redraw');
        },
        error : function(xhr, statusText, error) { 
            alert("Error! Could not retrieve the data.");
        }
    });
}
4

0 に答える 0