如何覆盖jquery datatable API的脚本?

时间:2016-10-24 19:25:06

标签: jquery jquery-plugins datatables

我正在开发codeigniter,我已经在我的页面中实现了jquery datatable api。一切正常。如您所知,默认情况下,api会在表格上方给出一个下拉列表,我们可以选择不显示的记录,我们也有搜索功能。现在,我想要的是,当用户向搜索框提供输入并且表格显示搜索结果时。我希望一次显示所有记录,而不是有限的结果。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

你需要

  1. -1中加入lengthMenu值,以便所有行都可以选择
  2. 在过滤表格时,即广播search.dt时,将lengthMenus -1选项设置为已选中并触发change事件
  3. 在dataTable对象上设置一个标志,以防止事件被反复触发
  4. 示例:

    var table = $('#example').DataTable({
      lengthMenu: [[10, -1], [10, "All"]]
    })  
    
    $('#example').on('search.dt', function(e, api) {
      if (!api._allForced) {
        $('.dataTables_length select option[value=-1]').prop('selected', true);
        $('.dataTables_length select').change();
        api._allForced = true    
      }
    })
    

    <强> http://jsfiddle.net/stmo9w8w/

答案 1 :(得分:0)

https://datatables.net/examples/advanced_init/length_menu.html

  

可以轻松自定义长度中显示的选项   菜单(默认情况下位于表格的左上角)使用lengthMenu   初始化选项。

$(document).ready(function() {
    $('#example').DataTable( {
        "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
    } );
} );

谷歌上的第一个结果:

How to show all rows by default in JQuery DataTable