2016-01-22 63 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

如何将类添加到搜索按钮? –