4

angularデータテーブルでサーバー側処理を使用しています。とにかく、検索ボックスで自動フィルタリングをオフにして、検索ボタンがクリックされたときにのみ検索/フィルタリング(サーバー側へのajax呼び出し)にすることはありますか? angularデータテーブルの経験がある人が助けてくれることを願っています。

4

1 に答える 1

8

4 つのステップでこれを行うことができます。

  • 既定の検索ボックスに関連付けられているすべてのイベント ハンドラーのバインドを解除します
  • 検索ボックスの横に新しい検索ボタンを追加する
  • DataTable ディレクティブ インスタンスを含める ( dtInstance)
  • dtInstance新しい検索ボタンがクリックされたときに検索を実行する

コールバックを使用しinitCompleteて変更を行います。例:

$scope.dtOptions = DTOptionsBuilder.newOptions()
  //other options 
  .withOption('initComplete', function() {
     $('.dataTables_filter input').unbind();
     $('<button/>').text('search').attr('id', 'new-search').appendTo('.dataTables_filter');
     $('#new-search').on('click', function() { 
       $scope.dtInstance.DataTable.search($('.dataTables_filter input').val()).draw();
     })  
   })

ディレクティブ インスタンスを含める

$scope.dtInstance = {};
<table datatable dt-options="dtOptions" dt-columns="dtColumns" dt-instance="dtInstance" >

デモ -> http://plnkr.co/edit/afMNeuUbwolGPffTdson?p=preview

于 2016-01-22T13:18:49.370 に答える