Prevent DataTables custom filter from affecting all tables on a pagejQuery DataTable - Hide rows the intended wayIs it possible to filter a jQuery DataTable by data attribute?How to apply filter to specific datatabledatatables custom filteringjQuery DataTables filter multiple tablesHow to clear datatable filters?jQuery Datatable: filtering + dynamic changes in table DOMAngular-DataTables custom filterAjax table wont filter searches with Datatable plugginDatatables custom filtering with server sideupdate a dataTable table based on another Filtered dataTable tabledatatables - Custom filter and pagination

What is my clock telling me to do?

What is the term for completing a route uncleanly?

Create two random teams from a list of players

Was Donald Trump at ground zero helping out on 9-11?

Word for giving preference to the oldest child

What do the novel titles of The Expanse series refer to?

Finding dents before the finish

What is the full text of the song about the failed battle of Kiska?

Is it unprofessional to mention your cover letter and resume are best viewed in Chrome?

"Valet parking " or "parking valet"

Avoiding Implicit Conversion in Constructor. Explicit keyword doesn't help here

Why would an invisible personal shield be necessary?

Applying for mortgage when living together but only one will be on the mortgage

Best Ergonomic Design for a handheld ranged weapon

When did J.K. Rowling decide to make Ron and Hermione a couple?

What is the oxidation state of Mn in HMn(CO)5?

Introduction to the Sicilian

How to remove rebar passing through an inaccessible pipe

How do discovery writers hibernate?

Coworker mumbles to herself when working, how to ask her to stop?

How char is processed in math mode?

How to efficiently shred a lot of cabbage?

Just how much information should you share with a former client?

Why “deal 6 damage” is a legit phrase?



Prevent DataTables custom filter from affecting all tables on a page


jQuery DataTable - Hide rows the intended wayIs it possible to filter a jQuery DataTable by data attribute?How to apply filter to specific datatabledatatables custom filteringjQuery DataTables filter multiple tablesHow to clear datatable filters?jQuery Datatable: filtering + dynamic changes in table DOMAngular-DataTables custom filterAjax table wont filter searches with Datatable plugginDatatables custom filtering with server sideupdate a dataTable table based on another Filtered dataTable tabledatatables - Custom filter and pagination






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















When we add a custom filter to DataTables:



$.fn.dataTable.ext.search.push(function(settings, data, dataIndex) 
...
)


it works as expected on one table. However, if we have multiple tables on the same page, all filters affects all tables. How to create custom filters that only affect a specific table?










share|improve this question






























    1















    When we add a custom filter to DataTables:



    $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) 
    ...
    )


    it works as expected on one table. However, if we have multiple tables on the same page, all filters affects all tables. How to create custom filters that only affect a specific table?










    share|improve this question


























      1












      1








      1








      When we add a custom filter to DataTables:



      $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) 
      ...
      )


      it works as expected on one table. However, if we have multiple tables on the same page, all filters affects all tables. How to create custom filters that only affect a specific table?










      share|improve this question














      When we add a custom filter to DataTables:



      $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) 
      ...
      )


      it works as expected on one table. However, if we have multiple tables on the same page, all filters affects all tables. How to create custom filters that only affect a specific table?







      datatables filtering






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 19 at 14:01









      davidkonraddavidkonrad

      67.2k13 gold badges153 silver badges207 bronze badges




      67.2k13 gold badges153 silver badges207 bronze badges

























          3 Answers
          3






          active

          oldest

          votes


















          2














          In your custom filter, check for settings.nTable.id and take action if the id matches the id of your table.



          Credits to 'kthorngren' who posted it here initially.






          /* Custom filtering function which will search data in column four between two values */
          $.fn.dataTable.ext.search.push(
          function( settings, data, dataIndex )
          ( isNaN( min ) && age <= max )
          );

          /* Custom filtering function which will search data in column four between two values */
          $.fn.dataTable.ext.search.push(
          function( settings, data, dataIndex )
          );


          $(document).ready( function ()
          var table = $('#example').DataTable(
          dom: 'tir'
          );
          var table2 = $('#example2').DataTable(
          dom: 'tir'
          );

          // Event listener to the two range filtering inputs to redraw on input
          $('#min, #max').keyup( function()
          table.draw();
          table2.draw();
          );


          // Event listener to the two range filtering inputs to redraw on input
          $('#min2, #max2').keyup( function()
          table.draw();
          table2.draw();
          );

          );

          body 
          font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
          margin: 0;
          padding: 0;
          color: #333;
          background-color: #fff;

          <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
          <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
          <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
          <div class="container">
          <table border="0" cellspacing="5" cellpadding="5">
          <tbody><tr>
          <td>Minimum age:</td>
          <td><input type="text" id="min" name="min"></td>
          </tr>
          <tr>
          <td>Maximum age:</td>
          <td><input type="text" id="max" name="max"></td>
          </tr>
          </tbody>
          <table id="example" class="display nowrap" width="100%">
          <thead>
          <tr>
          <th>Name</th>
          <th>Position</th>
          <th>Office</th>
          <th>Age</th>
          <th>Start date</th>
          <th>Salary</th>
          </tr>
          </thead>

          <tfoot>
          <tr>
          <th>Name</th>
          <th>Position</th>
          <th>Office</th>
          <th>Age</th>
          <th>Start date</th>
          <th>Salary</th>
          </tr>
          </tfoot>

          <tbody>
          <tr>
          <td>Tiger Nixon</td>
          <td>System Architect</td>
          <td>Edinburgh</td>
          <td>61</td>
          <td>2011/04/25</td>
          <td>$3,120</td>
          </tr>
          <tr>
          <td>Garrett Winters</td>
          <td>Director</td>
          <td>Edinburgh</td>
          <td>63</td>
          <td>2011/07/25</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Ashton Cox</td>
          <td>Technical Author</td>
          <td>San Francisco</td>
          <td>66</td>
          <td>2009/01/12</td>
          <td>$4,800</td>
          </tr>
          <tr>
          <td>Cedric Kelly</td>
          <td>Javascript Developer</td>
          <td>Edinburgh</td>
          <td>22</td>
          <td>2012/03/29</td>
          <td>$3,600</td>
          </tr>
          <tr>
          <td>Jenna Elliott</td>
          <td>Financial Controller</td>
          <td>Edinburgh</td>
          <td>33</td>
          <td>2008/11/28</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Brielle Williamson</td>
          <td>Integration Specialist</td>
          <td>New York</td>
          <td>61</td>
          <td>2012/12/02</td>
          <td>$4,525</td>
          </tr>
          <tr>
          <td>Herrod Chandler</td>
          <td>Sales Assistant</td>
          <td>San Francisco</td>
          <td>59</td>
          <td>2012/08/06</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Rhona Davidson</td>
          <td>Integration Specialist</td>
          <td>Edinburgh</td>
          <td>55</td>
          <td>2010/10/14</td>
          <td>$6,730</td>
          </tr>
          <tr>
          <td>Colleen Hurst</td>
          <td>Javascript Developer</td>
          <td>San Francisco</td>
          <td>39</td>
          <td>2009/09/15</td>
          <td>$5,000</td>
          </tr>
          <tr>
          <td>Sonya Frost</td>
          <td>Software Engineer</td>
          <td>Edinburgh</td>
          <td>23</td>
          <td>2008/12/13</td>
          <td>$3,600</td>
          </tr>
          <tr>
          <td>Jena Gaines</td>
          <td>System Architect</td>
          <td>London</td>
          <td>30</td>
          <td>2008/12/19</td>
          <td>$5,000</td>
          </tr>
          <tr>
          <td>Quinn Flynn</td>
          <td>Financial Controller</td>
          <td>Edinburgh</td>
          <td>22</td>
          <td>2013/03/03</td>
          <td>$4,200</td>
          </tr>
          <tr>
          <td>Charde Marshall</td>
          <td>Regional Director</td>
          <td>San Francisco</td>
          <td>36</td>
          <td>2008/10/16</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Haley Kennedy</td>
          <td>Senior Marketing Designer</td>
          <td>London</td>
          <td>43</td>
          <td>2012/12/18</td>
          <td>$4,800</td>
          </tr>
          <tr>
          <td>Tatyana Fitzpatrick</td>
          <td>Regional Director</td>
          <td>London</td>
          <td>19</td>
          <td>2010/03/17</td>
          <td>$2,875</td>
          </tr>
          <tr>
          <td>Michael Silva</td>
          <td>Senior Marketing Designer</td>
          <td>London</td>
          <td>66</td>
          <td>2012/11/27</td>
          <td>$3,750</td>
          </tr>
          <tr>
          <td>Paul Byrd</td>
          <td>Javascript Developer</td>
          <td>New York</td>
          <td>64</td>
          <td>2010/06/09</td>
          <td>$5,000</td>
          </tr>
          <tr>
          <td>Gloria Little</td>
          <td>Systems Administrator</td>
          <td>New York</td>
          <td>59</td>
          <td>2009/04/10</td>
          <td>$3,120</td>
          </tr>
          <tr>
          <td>Bradley Greer</td>
          <td>Software Engineer</td>
          <td>London</td>
          <td>41</td>
          <td>2012/10/13</td>
          <td>$3,120</td>
          </tr>
          <tr>
          <td>Dai Rios</td>
          <td>System Architect</td>
          <td>Edinburgh</td>
          <td>35</td>
          <td>2012/09/26</td>
          <td>$4,200</td>
          </tr>
          <tr>
          <td>Jenette Caldwell</td>
          <td>Financial Controller</td>
          <td>New York</td>
          <td>30</td>
          <td>2011/09/03</td>
          <td>$4,965</td>
          </tr>
          <tr>
          <td>Yuri Berry</td>
          <td>System Architect</td>
          <td>New York</td>
          <td>40</td>
          <td>2009/06/25</td>
          <td>$3,600</td>
          </tr>
          <tr>
          <td>Caesar Vance</td>
          <td>Technical Author</td>
          <td>New York</td>
          <td>21</td>
          <td>2011/12/12</td>
          <td>$4,965</td>
          </tr>
          <tr>
          <td>Doris Wilder</td>
          <td>Sales Assistant</td>
          <td>Edinburgh</td>
          <td>23</td>
          <td>2010/09/20</td>
          <td>$4,965</td>
          </tr>
          <tr>
          <td>Angelica Ramos</td>
          <td>System Architect</td>
          <td>London</td>
          <td>36</td>
          <td>2009/10/09</td>
          <td>$2,875</td>
          </tr>
          <tr>
          <td>Gavin Joyce</td>
          <td>Developer</td>
          <td>Edinburgh</td>
          <td>42</td>
          <td>2010/12/22</td>
          <td>$4,525</td>
          </tr>
          <tr>
          <td>Jennifer Chang</td>
          <td>Regional Director</td>
          <td>London</td>
          <td>28</td>
          <td>2010/11/14</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Brenden Wagner</td>
          <td>Software Engineer</td>
          <td>San Francisco</td>
          <td>18</td>
          <td>2011/06/07</td>
          <td>$3,750</td>
          </tr>
          <tr>
          <td>Ebony Grimes</td>
          <td>Software Engineer</td>
          <td>San Francisco</td>
          <td>48</td>
          <td>2010/03/11</td>
          <td>$2,875</td>
          </tr>
          <tr>
          <td>Russell Chavez</td>
          <td>Director</td>
          <td>Edinburgh</td>
          <td>20</td>
          <td>2011/08/14</td>
          <td>$3,600</td>
          </tr>
          </tbody>
          </table>


          <table border="0" cellspacing="5" cellpadding="5">
          <tbody><tr>
          <td>Minimum age:</td>
          <td><input type="text" id="min2" name="min"></td>
          </tr>
          <tr>
          <td>Maximum age:</td>
          <td><input type="text" id="max2" name="max"></td>
          </tr>
          </tbody>

          <table id="example2" class="display nowrap" width="100%">
          <thead>
          <tr>
          <th>Name</th>
          <th>Position</th>
          <th>Office</th>
          <th>Age</th>
          <th>Start date</th>
          <th>Salary</th>
          </tr>
          </thead>

          <tfoot>
          <tr>
          <th>Name</th>
          <th>Position</th>
          <th>Office</th>
          <th>Age</th>
          <th>Start date</th>
          <th>Salary</th>
          </tr>
          </tfoot>

          <tbody>
          <tr>
          <td>Michelle House</td>
          <td>Integration Specialist</td>
          <td>Edinburgh</td>
          <td>37</td>
          <td>2011/06/02</td>
          <td>$3,750</td>
          </tr>
          <tr>
          <td>Suki Burks</td>
          <td>Developer</td>
          <td>London</td>
          <td>53</td>
          <td>2009/10/22</td>
          <td>$2,875</td>
          </tr>
          <tr>
          <td>Prescott Bartlett</td>
          <td>Technical Author</td>
          <td>London</td>
          <td>27</td>
          <td>2011/05/07</td>
          <td>$6,730</td>
          </tr>
          <tr>
          <td>Gavin Cortez</td>
          <td>Technical Author</td>
          <td>San Francisco</td>
          <td>22</td>
          <td>2008/10/26</td>
          <td>$6,730</td>
          </tr>
          <tr>
          <td>Martena Mccray</td>
          <td>Integration Specialist</td>
          <td>Edinburgh</td>
          <td>46</td>
          <td>2011/03/09</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Unity Butler</td>
          <td>Senior Marketing Designer</td>
          <td>San Francisco</td>
          <td>47</td>
          <td>2009/12/09</td>
          <td>$3,750</td>
          </tr>
          <tr>
          <td>Howard Hatfield</td>
          <td>Financial Controller</td>
          <td>San Francisco</td>
          <td>51</td>
          <td>2008/12/16</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Hope Fuentes</td>
          <td>Financial Controller</td>
          <td>San Francisco</td>
          <td>41</td>
          <td>2010/02/12</td>
          <td>$4,200</td>
          </tr>
          <tr>
          <td>Vivian Harrell</td>
          <td>System Architect</td>
          <td>San Francisco</td>
          <td>62</td>
          <td>2009/02/14</td>
          <td>$4,965</td>
          </tr>
          <tr>
          <td>Timothy Mooney</td>
          <td>Financial Controller</td>
          <td>London</td>
          <td>37</td>
          <td>2008/12/11</td>
          <td>$4,200</td>
          </tr>
          <tr>
          <td>Jackson Bradshaw</td>
          <td>Director</td>
          <td>New York</td>
          <td>65</td>
          <td>2008/09/26</td>
          <td>$5,000</td>
          </tr>
          <tr>
          <td>Miriam Weiss</td>
          <td>Support Engineer</td>
          <td>Edinburgh</td>
          <td>64</td>
          <td>2011/02/03</td>
          <td>$4,965</td>
          </tr>
          <tr>
          <td>Bruno Nash</td>
          <td>Software Engineer</td>
          <td>London</td>
          <td>38</td>
          <td>2011/05/03</td>
          <td>$4,200</td>
          </tr>
          <tr>
          <td>Odessa Jackson</td>
          <td>Support Engineer</td>
          <td>Edinburgh</td>
          <td>37</td>
          <td>2009/08/19</td>
          <td>$3,600</td>
          </tr>
          <tr>
          <td>Thor Walton</td>
          <td>Developer</td>
          <td>New York</td>
          <td>61</td>
          <td>2013/08/11</td>
          <td>$3,600</td>
          </tr>
          <tr>
          <td>Finn Camacho</td>
          <td>Support Engineer</td>
          <td>San Francisco</td>
          <td>47</td>
          <td>2009/07/07</td>
          <td>$4,800</td>
          </tr>
          <tr>
          <td>Elton Baldwin</td>
          <td>Data Coordinator</td>
          <td>Edinburgh</td>
          <td>64</td>
          <td>2012/04/09</td>
          <td>$6,730</td>
          </tr>
          <tr>
          <td>Zenaida Frank</td>
          <td>Software Engineer</td>
          <td>New York</td>
          <td>63</td>
          <td>2010/01/04</td>
          <td>$4,800</td>
          </tr>
          <tr>
          <td>Zorita Serrano</td>
          <td>Software Engineer</td>
          <td>San Francisco</td>
          <td>56</td>
          <td>2012/06/01</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Jennifer Acosta</td>
          <td>Javascript Developer</td>
          <td>Edinburgh</td>
          <td>43</td>
          <td>2013/02/01</td>
          <td>$2,875</td>
          </tr>
          <tr>
          <td>Cara Stevens</td>
          <td>Sales Assistant</td>
          <td>New York</td>
          <td>46</td>
          <td>2011/12/06</td>
          <td>$4,800</td>
          </tr>
          <tr>
          <td>Hermione Butler</td>
          <td>Director</td>
          <td>London</td>
          <td>47</td>
          <td>2011/03/21</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Lael Greer</td>
          <td>Systems Administrator</td>
          <td>London</td>
          <td>21</td>
          <td>2009/02/27</td>
          <td>$3,120</td>
          </tr>
          <tr>
          <td>Jonas Alexander</td>
          <td>Developer</td>
          <td>San Francisco</td>
          <td>30</td>
          <td>2010/07/14</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Shad Decker</td>
          <td>Regional Director</td>
          <td>Edinburgh</td>
          <td>51</td>
          <td>2008/11/13</td>
          <td>$5,300</td>
          </tr>
          <tr>
          <td>Michael Bruce</td>
          <td>Javascript Developer</td>
          <td>Edinburgh</td>
          <td>29</td>
          <td>2011/06/27</td>
          <td>$4,080</td>
          </tr>
          <tr>
          <td>Donna Snider</td>
          <td>System Architect</td>
          <td>New York</td>
          <td>27</td>
          <td>2011/01/25</td>
          <td>$3,120</td>
          </tr>
          </tbody>
          </table>
          </div>








          share|improve this answer

























          • Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

            – davidkonrad
            Mar 19 at 14:43











          • I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

            – Priyank Panchal
            Mar 19 at 14:51












          • :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

            – Don Cheadle
            Mar 19 at 20:01











          • @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

            – davidkonrad
            Mar 20 at 0:29











          • @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

            – Don Cheadle
            Mar 20 at 14:28


















          2














          All custom filters works globally because $.fn.dataTable.ext.search is a global array any DataTable on a page takes into consideration when they are redrawn. There is no way around it, it is simply how DT is designed.



          However, by using DT's plug-in architecture and simply hook into the relevant events, it is easy to replace the global array with local custom filters when needed, if any :



          $.fn.dataTable.Api.register('filter.push', function(fn, draw) 
          if (!this.__customFilters)
          var filters = this.__customFilters = []
          this.on('mousedown preDraw.dt', function()
          $.fn.dataTable.ext.search = filters
          )

          this.__customFilters.push(fn)
          $.fn.dataTable.ext.search = this.__customFilters
          this.draw()
          )

          $.fn.dataTable.Api.register('filter.pop', function()
          if (!this.__customFilters) return
          this.__customFilters.pop()
          )


          Thats it. Now, if you have a page with multiple DataTables, and you want a custom filter to work for one specific table only :



          table.filter.push(function(settings, data, dataIndex) 
          ...
          )


          If you want to remove the filter table.filter.pop()



          Here is a demo with three tables on the same page, each of them having their own custom filter implemented -> http://jsfiddle.net/gc4ow8yr/






          share|improve this answer
































            0














            var detailDT = $("#staging-detail-table").DataTable();

            var selectedHeaderId = $(...).click...

            $.fn.dataTable.ext.search.push(
            function (settings, searchData, dataIndex, rowData)

            // This is a global call-back, so check what table is getting sent thru
            // for different search logic.
            // This is triggered any time any table is re-drawn.

            // Detail grid
            if (settings.nTable.id == "staging-detail-table")
            if (!selectedHeaderId)
            // no header was selected. show everything
            return true;
            else
            var $trDetailDT = $(detailDT.row(dataIndex).node());
            var headerId = $trDetailDT.data("headerid");

            return selectedHeaderId == headerId;



            return true; // it wasnot the staging data table. Don't filter/limit.

            )


            detailDT is a reference to the DataTable I want to filter.



            selectedHeaderId is the value I want to filter by - would have been set by some other jQuery user interaction etc. before calling detailDT.draw() which triggers the search.



            Key part is calling settings.nTable.id == "staging-detail-table" which checks the HTML id of the data table, so you can apply filtering to the id you want.






            share|improve this answer



























              Your Answer






              StackExchange.ifUsing("editor", function ()
              StackExchange.using("externalEditor", function ()
              StackExchange.using("snippets", function ()
              StackExchange.snippets.init();
              );
              );
              , "code-snippets");

              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "1"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55242822%2fprevent-datatables-custom-filter-from-affecting-all-tables-on-a-page%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              In your custom filter, check for settings.nTable.id and take action if the id matches the id of your table.



              Credits to 'kthorngren' who posted it here initially.






              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>








              share|improve this answer

























              • Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

                – davidkonrad
                Mar 19 at 14:43











              • I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

                – Priyank Panchal
                Mar 19 at 14:51












              • :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

                – Don Cheadle
                Mar 19 at 20:01











              • @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

                – davidkonrad
                Mar 20 at 0:29











              • @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

                – Don Cheadle
                Mar 20 at 14:28















              2














              In your custom filter, check for settings.nTable.id and take action if the id matches the id of your table.



              Credits to 'kthorngren' who posted it here initially.






              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>








              share|improve this answer

























              • Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

                – davidkonrad
                Mar 19 at 14:43











              • I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

                – Priyank Panchal
                Mar 19 at 14:51












              • :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

                – Don Cheadle
                Mar 19 at 20:01











              • @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

                – davidkonrad
                Mar 20 at 0:29











              • @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

                – Don Cheadle
                Mar 20 at 14:28













              2












              2








              2







              In your custom filter, check for settings.nTable.id and take action if the id matches the id of your table.



              Credits to 'kthorngren' who posted it here initially.






              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>








              share|improve this answer













              In your custom filter, check for settings.nTable.id and take action if the id matches the id of your table.



              Credits to 'kthorngren' who posted it here initially.






              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>








              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>





              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              ( isNaN( min ) && age <= max )
              );

              /* Custom filtering function which will search data in column four between two values */
              $.fn.dataTable.ext.search.push(
              function( settings, data, dataIndex )
              );


              $(document).ready( function ()
              var table = $('#example').DataTable(
              dom: 'tir'
              );
              var table2 = $('#example2').DataTable(
              dom: 'tir'
              );

              // Event listener to the two range filtering inputs to redraw on input
              $('#min, #max').keyup( function()
              table.draw();
              table2.draw();
              );


              // Event listener to the two range filtering inputs to redraw on input
              $('#min2, #max2').keyup( function()
              table.draw();
              table2.draw();
              );

              );

              body 
              font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
              margin: 0;
              padding: 0;
              color: #333;
              background-color: #fff;

              <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
              <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
              <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
              <div class="container">
              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max" name="max"></td>
              </tr>
              </tbody>
              <table id="example" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Tiger Nixon</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>61</td>
              <td>2011/04/25</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Garrett Winters</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>63</td>
              <td>2011/07/25</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Ashton Cox</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>66</td>
              <td>2009/01/12</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Cedric Kelly</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2012/03/29</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jenna Elliott</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>33</td>
              <td>2008/11/28</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Brielle Williamson</td>
              <td>Integration Specialist</td>
              <td>New York</td>
              <td>61</td>
              <td>2012/12/02</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Herrod Chandler</td>
              <td>Sales Assistant</td>
              <td>San Francisco</td>
              <td>59</td>
              <td>2012/08/06</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Rhona Davidson</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>55</td>
              <td>2010/10/14</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Colleen Hurst</td>
              <td>Javascript Developer</td>
              <td>San Francisco</td>
              <td>39</td>
              <td>2009/09/15</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Sonya Frost</td>
              <td>Software Engineer</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2008/12/13</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Jena Gaines</td>
              <td>System Architect</td>
              <td>London</td>
              <td>30</td>
              <td>2008/12/19</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Quinn Flynn</td>
              <td>Financial Controller</td>
              <td>Edinburgh</td>
              <td>22</td>
              <td>2013/03/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Charde Marshall</td>
              <td>Regional Director</td>
              <td>San Francisco</td>
              <td>36</td>
              <td>2008/10/16</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Haley Kennedy</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>43</td>
              <td>2012/12/18</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Tatyana Fitzpatrick</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>19</td>
              <td>2010/03/17</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Michael Silva</td>
              <td>Senior Marketing Designer</td>
              <td>London</td>
              <td>66</td>
              <td>2012/11/27</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Paul Byrd</td>
              <td>Javascript Developer</td>
              <td>New York</td>
              <td>64</td>
              <td>2010/06/09</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Gloria Little</td>
              <td>Systems Administrator</td>
              <td>New York</td>
              <td>59</td>
              <td>2009/04/10</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Bradley Greer</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>41</td>
              <td>2012/10/13</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Dai Rios</td>
              <td>System Architect</td>
              <td>Edinburgh</td>
              <td>35</td>
              <td>2012/09/26</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jenette Caldwell</td>
              <td>Financial Controller</td>
              <td>New York</td>
              <td>30</td>
              <td>2011/09/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Yuri Berry</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>40</td>
              <td>2009/06/25</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Caesar Vance</td>
              <td>Technical Author</td>
              <td>New York</td>
              <td>21</td>
              <td>2011/12/12</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Doris Wilder</td>
              <td>Sales Assistant</td>
              <td>Edinburgh</td>
              <td>23</td>
              <td>2010/09/20</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Angelica Ramos</td>
              <td>System Architect</td>
              <td>London</td>
              <td>36</td>
              <td>2009/10/09</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Gavin Joyce</td>
              <td>Developer</td>
              <td>Edinburgh</td>
              <td>42</td>
              <td>2010/12/22</td>
              <td>$4,525</td>
              </tr>
              <tr>
              <td>Jennifer Chang</td>
              <td>Regional Director</td>
              <td>London</td>
              <td>28</td>
              <td>2010/11/14</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Brenden Wagner</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>18</td>
              <td>2011/06/07</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Ebony Grimes</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>48</td>
              <td>2010/03/11</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Russell Chavez</td>
              <td>Director</td>
              <td>Edinburgh</td>
              <td>20</td>
              <td>2011/08/14</td>
              <td>$3,600</td>
              </tr>
              </tbody>
              </table>


              <table border="0" cellspacing="5" cellpadding="5">
              <tbody><tr>
              <td>Minimum age:</td>
              <td><input type="text" id="min2" name="min"></td>
              </tr>
              <tr>
              <td>Maximum age:</td>
              <td><input type="text" id="max2" name="max"></td>
              </tr>
              </tbody>

              <table id="example2" class="display nowrap" width="100%">
              <thead>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </thead>

              <tfoot>
              <tr>
              <th>Name</th>
              <th>Position</th>
              <th>Office</th>
              <th>Age</th>
              <th>Start date</th>
              <th>Salary</th>
              </tr>
              </tfoot>

              <tbody>
              <tr>
              <td>Michelle House</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2011/06/02</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Suki Burks</td>
              <td>Developer</td>
              <td>London</td>
              <td>53</td>
              <td>2009/10/22</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Prescott Bartlett</td>
              <td>Technical Author</td>
              <td>London</td>
              <td>27</td>
              <td>2011/05/07</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Gavin Cortez</td>
              <td>Technical Author</td>
              <td>San Francisco</td>
              <td>22</td>
              <td>2008/10/26</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Martena Mccray</td>
              <td>Integration Specialist</td>
              <td>Edinburgh</td>
              <td>46</td>
              <td>2011/03/09</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Unity Butler</td>
              <td>Senior Marketing Designer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/12/09</td>
              <td>$3,750</td>
              </tr>
              <tr>
              <td>Howard Hatfield</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>51</td>
              <td>2008/12/16</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Hope Fuentes</td>
              <td>Financial Controller</td>
              <td>San Francisco</td>
              <td>41</td>
              <td>2010/02/12</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Vivian Harrell</td>
              <td>System Architect</td>
              <td>San Francisco</td>
              <td>62</td>
              <td>2009/02/14</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Timothy Mooney</td>
              <td>Financial Controller</td>
              <td>London</td>
              <td>37</td>
              <td>2008/12/11</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Jackson Bradshaw</td>
              <td>Director</td>
              <td>New York</td>
              <td>65</td>
              <td>2008/09/26</td>
              <td>$5,000</td>
              </tr>
              <tr>
              <td>Miriam Weiss</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2011/02/03</td>
              <td>$4,965</td>
              </tr>
              <tr>
              <td>Bruno Nash</td>
              <td>Software Engineer</td>
              <td>London</td>
              <td>38</td>
              <td>2011/05/03</td>
              <td>$4,200</td>
              </tr>
              <tr>
              <td>Odessa Jackson</td>
              <td>Support Engineer</td>
              <td>Edinburgh</td>
              <td>37</td>
              <td>2009/08/19</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Thor Walton</td>
              <td>Developer</td>
              <td>New York</td>
              <td>61</td>
              <td>2013/08/11</td>
              <td>$3,600</td>
              </tr>
              <tr>
              <td>Finn Camacho</td>
              <td>Support Engineer</td>
              <td>San Francisco</td>
              <td>47</td>
              <td>2009/07/07</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Elton Baldwin</td>
              <td>Data Coordinator</td>
              <td>Edinburgh</td>
              <td>64</td>
              <td>2012/04/09</td>
              <td>$6,730</td>
              </tr>
              <tr>
              <td>Zenaida Frank</td>
              <td>Software Engineer</td>
              <td>New York</td>
              <td>63</td>
              <td>2010/01/04</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Zorita Serrano</td>
              <td>Software Engineer</td>
              <td>San Francisco</td>
              <td>56</td>
              <td>2012/06/01</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Jennifer Acosta</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>43</td>
              <td>2013/02/01</td>
              <td>$2,875</td>
              </tr>
              <tr>
              <td>Cara Stevens</td>
              <td>Sales Assistant</td>
              <td>New York</td>
              <td>46</td>
              <td>2011/12/06</td>
              <td>$4,800</td>
              </tr>
              <tr>
              <td>Hermione Butler</td>
              <td>Director</td>
              <td>London</td>
              <td>47</td>
              <td>2011/03/21</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Lael Greer</td>
              <td>Systems Administrator</td>
              <td>London</td>
              <td>21</td>
              <td>2009/02/27</td>
              <td>$3,120</td>
              </tr>
              <tr>
              <td>Jonas Alexander</td>
              <td>Developer</td>
              <td>San Francisco</td>
              <td>30</td>
              <td>2010/07/14</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Shad Decker</td>
              <td>Regional Director</td>
              <td>Edinburgh</td>
              <td>51</td>
              <td>2008/11/13</td>
              <td>$5,300</td>
              </tr>
              <tr>
              <td>Michael Bruce</td>
              <td>Javascript Developer</td>
              <td>Edinburgh</td>
              <td>29</td>
              <td>2011/06/27</td>
              <td>$4,080</td>
              </tr>
              <tr>
              <td>Donna Snider</td>
              <td>System Architect</td>
              <td>New York</td>
              <td>27</td>
              <td>2011/01/25</td>
              <td>$3,120</td>
              </tr>
              </tbody>
              </table>
              </div>






              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Mar 19 at 14:27









              Priyank PanchalPriyank Panchal

              8391 gold badge8 silver badges15 bronze badges




              8391 gold badge8 silver badges15 bronze badges















              • Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

                – davidkonrad
                Mar 19 at 14:43











              • I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

                – Priyank Panchal
                Mar 19 at 14:51












              • :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

                – Don Cheadle
                Mar 19 at 20:01











              • @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

                – davidkonrad
                Mar 20 at 0:29











              • @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

                – Don Cheadle
                Mar 20 at 14:28

















              • Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

                – davidkonrad
                Mar 19 at 14:43











              • I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

                – Priyank Panchal
                Mar 19 at 14:51












              • :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

                – Don Cheadle
                Mar 19 at 20:01











              • @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

                – davidkonrad
                Mar 20 at 0:29











              • @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

                – Don Cheadle
                Mar 20 at 14:28
















              Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

              – davidkonrad
              Mar 19 at 14:43





              Yes, I have over the time posted similar answers as well :) This question came out of comments to several already answered questions today; again a user was confused so I decided to find a more robust solution that works without the "is this the right table"-overhead in the filters. The overhead makes it ugly and hard to maintain, and you cannot just copy paste filters. So +1 to you, but I think I finally have found a more elegant way. Besides that, this is caused by very poor design in DT, we should never need to do hacks like this in the first place :)

              – davidkonrad
              Mar 19 at 14:43













              I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

              – Priyank Panchal
              Mar 19 at 14:51






              I would, without a doubt, mark yours as an answer if I was the OP I know you will have to wait 2 days to mark yours. The solution is so clean and easy to understand. I don't need to hunt for specific code to remove it, just pop it! Yes, DataTables could have handled it better, but it is good at least we have an option to come up with a hack.

              – Priyank Panchal
              Mar 19 at 14:51














              :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

              – Don Cheadle
              Mar 19 at 20:01





              :) this anwer is what I was most inspired by. settings.nTable.id !== 'example' is pretty simple imo, don't need to modify how datatables works. I just didn't know before that settings had this nTable and id which you could check/compare against. Overall I think DataTables is pretty capable once you're more familiar... but I think some more common use-cases should have more examples.

              – Don Cheadle
              Mar 19 at 20:01













              @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

              – davidkonrad
              Mar 20 at 0:29





              @mmcrae, you are actually right, I guess. If you just have one or two filters, then perhaps it is more logical that the filter itself decides what table it should target. I was thinking many filters and reuseability. Anything I can reuse is to me a gain,, a good filter could be used over and over.

              – davidkonrad
              Mar 20 at 0:29













              @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

              – Don Cheadle
              Mar 20 at 14:28





              @davidkonrad btw I posted an answer, that I think sums of a few good ideas, to this related/popular question stackoverflow.com/questions/31458060/…

              – Don Cheadle
              Mar 20 at 14:28













              2














              All custom filters works globally because $.fn.dataTable.ext.search is a global array any DataTable on a page takes into consideration when they are redrawn. There is no way around it, it is simply how DT is designed.



              However, by using DT's plug-in architecture and simply hook into the relevant events, it is easy to replace the global array with local custom filters when needed, if any :



              $.fn.dataTable.Api.register('filter.push', function(fn, draw) 
              if (!this.__customFilters)
              var filters = this.__customFilters = []
              this.on('mousedown preDraw.dt', function()
              $.fn.dataTable.ext.search = filters
              )

              this.__customFilters.push(fn)
              $.fn.dataTable.ext.search = this.__customFilters
              this.draw()
              )

              $.fn.dataTable.Api.register('filter.pop', function()
              if (!this.__customFilters) return
              this.__customFilters.pop()
              )


              Thats it. Now, if you have a page with multiple DataTables, and you want a custom filter to work for one specific table only :



              table.filter.push(function(settings, data, dataIndex) 
              ...
              )


              If you want to remove the filter table.filter.pop()



              Here is a demo with three tables on the same page, each of them having their own custom filter implemented -> http://jsfiddle.net/gc4ow8yr/






              share|improve this answer





























                2














                All custom filters works globally because $.fn.dataTable.ext.search is a global array any DataTable on a page takes into consideration when they are redrawn. There is no way around it, it is simply how DT is designed.



                However, by using DT's plug-in architecture and simply hook into the relevant events, it is easy to replace the global array with local custom filters when needed, if any :



                $.fn.dataTable.Api.register('filter.push', function(fn, draw) 
                if (!this.__customFilters)
                var filters = this.__customFilters = []
                this.on('mousedown preDraw.dt', function()
                $.fn.dataTable.ext.search = filters
                )

                this.__customFilters.push(fn)
                $.fn.dataTable.ext.search = this.__customFilters
                this.draw()
                )

                $.fn.dataTable.Api.register('filter.pop', function()
                if (!this.__customFilters) return
                this.__customFilters.pop()
                )


                Thats it. Now, if you have a page with multiple DataTables, and you want a custom filter to work for one specific table only :



                table.filter.push(function(settings, data, dataIndex) 
                ...
                )


                If you want to remove the filter table.filter.pop()



                Here is a demo with three tables on the same page, each of them having their own custom filter implemented -> http://jsfiddle.net/gc4ow8yr/






                share|improve this answer



























                  2












                  2








                  2







                  All custom filters works globally because $.fn.dataTable.ext.search is a global array any DataTable on a page takes into consideration when they are redrawn. There is no way around it, it is simply how DT is designed.



                  However, by using DT's plug-in architecture and simply hook into the relevant events, it is easy to replace the global array with local custom filters when needed, if any :



                  $.fn.dataTable.Api.register('filter.push', function(fn, draw) 
                  if (!this.__customFilters)
                  var filters = this.__customFilters = []
                  this.on('mousedown preDraw.dt', function()
                  $.fn.dataTable.ext.search = filters
                  )

                  this.__customFilters.push(fn)
                  $.fn.dataTable.ext.search = this.__customFilters
                  this.draw()
                  )

                  $.fn.dataTable.Api.register('filter.pop', function()
                  if (!this.__customFilters) return
                  this.__customFilters.pop()
                  )


                  Thats it. Now, if you have a page with multiple DataTables, and you want a custom filter to work for one specific table only :



                  table.filter.push(function(settings, data, dataIndex) 
                  ...
                  )


                  If you want to remove the filter table.filter.pop()



                  Here is a demo with three tables on the same page, each of them having their own custom filter implemented -> http://jsfiddle.net/gc4ow8yr/






                  share|improve this answer













                  All custom filters works globally because $.fn.dataTable.ext.search is a global array any DataTable on a page takes into consideration when they are redrawn. There is no way around it, it is simply how DT is designed.



                  However, by using DT's plug-in architecture and simply hook into the relevant events, it is easy to replace the global array with local custom filters when needed, if any :



                  $.fn.dataTable.Api.register('filter.push', function(fn, draw) 
                  if (!this.__customFilters)
                  var filters = this.__customFilters = []
                  this.on('mousedown preDraw.dt', function()
                  $.fn.dataTable.ext.search = filters
                  )

                  this.__customFilters.push(fn)
                  $.fn.dataTable.ext.search = this.__customFilters
                  this.draw()
                  )

                  $.fn.dataTable.Api.register('filter.pop', function()
                  if (!this.__customFilters) return
                  this.__customFilters.pop()
                  )


                  Thats it. Now, if you have a page with multiple DataTables, and you want a custom filter to work for one specific table only :



                  table.filter.push(function(settings, data, dataIndex) 
                  ...
                  )


                  If you want to remove the filter table.filter.pop()



                  Here is a demo with three tables on the same page, each of them having their own custom filter implemented -> http://jsfiddle.net/gc4ow8yr/







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Mar 19 at 14:32









                  davidkonraddavidkonrad

                  67.2k13 gold badges153 silver badges207 bronze badges




                  67.2k13 gold badges153 silver badges207 bronze badges
























                      0














                      var detailDT = $("#staging-detail-table").DataTable();

                      var selectedHeaderId = $(...).click...

                      $.fn.dataTable.ext.search.push(
                      function (settings, searchData, dataIndex, rowData)

                      // This is a global call-back, so check what table is getting sent thru
                      // for different search logic.
                      // This is triggered any time any table is re-drawn.

                      // Detail grid
                      if (settings.nTable.id == "staging-detail-table")
                      if (!selectedHeaderId)
                      // no header was selected. show everything
                      return true;
                      else
                      var $trDetailDT = $(detailDT.row(dataIndex).node());
                      var headerId = $trDetailDT.data("headerid");

                      return selectedHeaderId == headerId;



                      return true; // it wasnot the staging data table. Don't filter/limit.

                      )


                      detailDT is a reference to the DataTable I want to filter.



                      selectedHeaderId is the value I want to filter by - would have been set by some other jQuery user interaction etc. before calling detailDT.draw() which triggers the search.



                      Key part is calling settings.nTable.id == "staging-detail-table" which checks the HTML id of the data table, so you can apply filtering to the id you want.






                      share|improve this answer





























                        0














                        var detailDT = $("#staging-detail-table").DataTable();

                        var selectedHeaderId = $(...).click...

                        $.fn.dataTable.ext.search.push(
                        function (settings, searchData, dataIndex, rowData)

                        // This is a global call-back, so check what table is getting sent thru
                        // for different search logic.
                        // This is triggered any time any table is re-drawn.

                        // Detail grid
                        if (settings.nTable.id == "staging-detail-table")
                        if (!selectedHeaderId)
                        // no header was selected. show everything
                        return true;
                        else
                        var $trDetailDT = $(detailDT.row(dataIndex).node());
                        var headerId = $trDetailDT.data("headerid");

                        return selectedHeaderId == headerId;



                        return true; // it wasnot the staging data table. Don't filter/limit.

                        )


                        detailDT is a reference to the DataTable I want to filter.



                        selectedHeaderId is the value I want to filter by - would have been set by some other jQuery user interaction etc. before calling detailDT.draw() which triggers the search.



                        Key part is calling settings.nTable.id == "staging-detail-table" which checks the HTML id of the data table, so you can apply filtering to the id you want.






                        share|improve this answer



























                          0












                          0








                          0







                          var detailDT = $("#staging-detail-table").DataTable();

                          var selectedHeaderId = $(...).click...

                          $.fn.dataTable.ext.search.push(
                          function (settings, searchData, dataIndex, rowData)

                          // This is a global call-back, so check what table is getting sent thru
                          // for different search logic.
                          // This is triggered any time any table is re-drawn.

                          // Detail grid
                          if (settings.nTable.id == "staging-detail-table")
                          if (!selectedHeaderId)
                          // no header was selected. show everything
                          return true;
                          else
                          var $trDetailDT = $(detailDT.row(dataIndex).node());
                          var headerId = $trDetailDT.data("headerid");

                          return selectedHeaderId == headerId;



                          return true; // it wasnot the staging data table. Don't filter/limit.

                          )


                          detailDT is a reference to the DataTable I want to filter.



                          selectedHeaderId is the value I want to filter by - would have been set by some other jQuery user interaction etc. before calling detailDT.draw() which triggers the search.



                          Key part is calling settings.nTable.id == "staging-detail-table" which checks the HTML id of the data table, so you can apply filtering to the id you want.






                          share|improve this answer













                          var detailDT = $("#staging-detail-table").DataTable();

                          var selectedHeaderId = $(...).click...

                          $.fn.dataTable.ext.search.push(
                          function (settings, searchData, dataIndex, rowData)

                          // This is a global call-back, so check what table is getting sent thru
                          // for different search logic.
                          // This is triggered any time any table is re-drawn.

                          // Detail grid
                          if (settings.nTable.id == "staging-detail-table")
                          if (!selectedHeaderId)
                          // no header was selected. show everything
                          return true;
                          else
                          var $trDetailDT = $(detailDT.row(dataIndex).node());
                          var headerId = $trDetailDT.data("headerid");

                          return selectedHeaderId == headerId;



                          return true; // it wasnot the staging data table. Don't filter/limit.

                          )


                          detailDT is a reference to the DataTable I want to filter.



                          selectedHeaderId is the value I want to filter by - would have been set by some other jQuery user interaction etc. before calling detailDT.draw() which triggers the search.



                          Key part is calling settings.nTable.id == "staging-detail-table" which checks the HTML id of the data table, so you can apply filtering to the id you want.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 26 at 22:02









                          Don CheadleDon Cheadle

                          2,7022 gold badges21 silver badges40 bronze badges




                          2,7022 gold badges21 silver badges40 bronze badges






























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55242822%2fprevent-datatables-custom-filter-from-affecting-all-tables-on-a-page%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                              Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                              Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript