fnFilterAll

Apply a common filter to all DataTables on a page

  • Author: Kristoffer Karlström
  • Deprecated: This plug-in has been deprecated and replaced with other functionality. Please see the detailed description below for more information.

Apply the same filter to all DataTable instances on a particular page. The function call exactly matches that used by fnFilter() so regular expression and individual column sorting can be used.

DataTables 1.10+ provides this ability through its new API, which is able to to control multiple tables at a time. $('.dataTable').DataTable().search( ... ) for example will apply the same filter to all tables on the page. The new API should be used in preference to this older method if at all possible.

Plug-in code

jQuery.fn.dataTableExt.oApi.fnFilterAll = function(oSettings, sInput, iColumn, bRegex, bSmart) {
    var settings = $.fn.dataTableSettings;

    for ( var i=0 ; i<settings.length ; i++ ) {
      settings[i].oInstance.fnFilter( sInput, iColumn, bRegex, bSmart);
    }
};

CDN

This plug-in is available on the DataTables CDN:

JS

Note that if you are using multiple plug-ins, it is beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.

Version control

If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!

Example

$(document).ready(function() {
    var table = $(".dataTable").dataTable();

    $("#search").keyup( function () {
      // Filter on the column (the index) of this element
      table.fnFilterAll(this.value);
    } );
  });