2017-07-21 4 views
0

DataTables 1.10.15はサーバーサイドモードでセットアップされています。元のテーブルデータを表示するDataTables Server Sideモードのリセットボタン

jqueryのとchangeメソッドを使用してさまざまな入力が完了すると、テーブルのデータを生成するajaxスクリプトがトリガーされます。

テーブルをオリジナルにリセットするボタンを実装したい(最初にページが読み込まれ、検索/並べ替えが行われる前に)。

だから私はボタン(#resetSearchが)それはすべての検索入力フィールドをクリアして、テーブルを再描画クリックされたときを意味し、これを実装:

$('#resetSearch').click(function(){ 
    $(':input','#primarySearch') 
    .not(':button, :submit, :reset, :hidden') 
    .val('') 
    .removeAttr('checked') 
    .removeAttr('selected'); 

    myTable.draw(); 
}); 

変数myTableがDataTableのへの参照です:

var myTable = $('#myTable').DataTable({ }); 

問題は、すべての検索入力をクリアしても、テーブル内にあるsortorderの入力をリセットしないということです。したがって、列2でソートした後に#resetSearchを押すと、列2の降順ですべての結果が得られます - 昇順列0にリセットするコードがないためです。

私はしませんsortまたはorderの入力を対象にして、それらを上書きしてこの作業を行う方法を理解してください。

誰かが助けてくれますか?

+0

これは役に立ちますか? [Stackoverflow.com/questions/33212389/restore-original-sort-order-with-jquery-datatables](https://stackoverflow.com/questions/33212389/restore-original-sort-order-with-jquery-datatables) – markpsmith

+0

@markpsmithすべて廃止されました。 DataTableの古いバージョン、またはServer Sideモードを使用していない古いバージョンのものは、すべてのリンクまたはSO投稿です。 – Andy

+0

'$( '#myTable')を試しましたか?DataTable()。ajax.reload() ; '? –

答えて

0

Datatablesには、クラス/セレクタ '.filter-cancel'のハンドラが既にあります。

'filter-cancel'クラス内のボタンまたはリンクをテーブル(たとえば)内に置き、それをクリックしてテストします。データはデフォルトでリロードされ、すべてのフィルタがリセットされます。

+0

それはうまくいかないようです。ドキュメントで言及されていないので、どこから '.filter-cancel'を入手したのか分かりません。 * fnFilterClearメソッド(https://datatables.net/plug-ins/api/fnFilterClear)がありましたが、非推奨です。 – Andy

関連する問題