2016-07-15 22 views
0

角度データテーブル選択を使用して特定のデータを選択したときにイベントをトリガする方法に問題があります。角度データテーブル選択でコールバック関数を作成する方法

選択した行があるときに編集と削除ボタンを有効にしたいとします。

app.controller('SampleController', function($http, DTOptionsBuilder, DTColumnBuilder, $q) { 
     var vm = this; 

     vm.dtOptions = DTOptionsBuilder.fromFnPromise(function() { 
      var defer = $q.defer(); 
      $http.get("{!! url('sample/api/v1/questions?questionType=1') !!}") 
      .then(function(response) { 
       defer.resolve(response.data.active_question_contents); 
      }); 

      return defer.promise; 
     }) 
     .withDOM('frtip') 
     .withPaginationType('full_numbers') 
     .withDisplayLength(5) 
     .withButtons([{ 
      text: 'Add', 
      key: '1', 
      action: function(e, dt, node, config) { 
      alert('Add'); 
      } 
     }, { 
      text: 'Edit', 
      key: '2', 
      action: function(e, dt, node, config) { 
      alert('Edit'); 
      }, 
      enabled: false 
     }, { 
      text: 'Delete', 
      key: '3', 
      action: function(e, dt, node, config) { 
      alert('Delete'); 
      }, 
      enabled: false 
     }]) 
     .withSelect({ 
      style: 'os', 
      selector: 'td:first-child' 
     }); 

私はdrawCallbackを試みたが、それは一度だけトリガー:

は、ここに私のコードです。

答えて

1

私はすでにそれを解決しました! drawCallback関数の中にthis.DataTable()を追加しました。ここで

はコードです:

vm.dtOptions.drawCallback = function() { 
    var table = this.DataTable(); 

    table.on('select', function() { 
      alert('Selected!'); 
      // Enable/disable buttons here... 
    }); 
}; 
関連する問題