2016-01-22 67 views
2

我正在使用角度數據表進行服務器端處理。無論如何,在搜索框中關閉自動過濾功能,並且只有在單擊搜索按鈕時才能搜索/過濾(ajax調用服務器端)。希望有人在角度數據表中的經驗可以幫助。「search」上的角度數據表搜索過濾器按

+0

我不熟悉的角在普通的數據表中,它只是一個解綁定搜索輸入的關鍵事件的例子,而addin g帶有點擊事件的按鈕,該事件調用'draw()'或'fnDraw()'或w/e角度等值。 – markpsmith

回答

6

可以在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

+0

讚賞的答覆。這怎麼可能擴展到住宿多重搜索過濾器輸入? – vincentsty

+0

@vincentsty,你的意思是「_multiple search filter input_」?我以爲這個問題是關於禁用默認的自動搜索,並通過點擊按鈕來觸發它。 – davidkonrad

+0

如何將類添加到搜索按鈕? –