添加范围过滤器数据表功能到按钮单击

时间:2013-09-23 11:26:49

标签: function button filter datatable

嗯,我知道code用表单和html代码来构建这个表单

但我需要的是通过预定义最大 - 最小变量的按钮启动此功能。

任何想法/建议?

2 个答案:

答案 0 :(得分:3)

$ .fn.dataTableExt.afnFiltering var是一个过滤函数数组。当你调用方法fnDraw()或初始化程序dataTable()时,它们会执行。

如果您想在单击按钮时执行,则必须执行以下操作:

  • 为调用fnDraw()方法的按钮的“单击”操作创建一个侦听器
  • 像示例一样创建自己的过滤函数(使用预定义的值)并将其推送到$ .fn.dataTableExt.afnFiltering数组中。

例如:

$(document).ready(function(){
  /* Initialise datatables */
  var oTable = $('#example').dataTable();

  $("#mybutton").click(function() {
    //Creating of our own filtering function
    $.fn.dataTableExt.afnFiltering.push(
        function(oSettings, aData, iDataIndex) {
           //Only shows columns with a Engine between 2 and 5
           var engineColumn = parseInt(aData[3]);
           if (engineColumn >= 2 && engineColumn <= 5)
               return true;
           return false;
        }

    );
    //Update table
     oTable.fnDraw();
     //Deleting the filtering function if we need the original table later.
    $.fn.dataTableExt.afnFiltering.pop();
  });

});

您可以参考以下链接中的完整功能示例:Example

我希望这对我的英语有用而且很抱歉。

编辑:我对原始回复进行了一些更改,因为我做了一些错误的假设。我道歉。

答案 1 :(得分:2)

看起来DataTable的API已被修改,当我更改时,您的示例运行正常

$.fn.dataTableExt.afnFiltering.push(...

$.fn.DataTable.ext.search.push(...

和pop()相似;