#### DataTables

Add advanced interaction controls to your HTML tables the free & easy way. Read Full Documentation

Table of Contents

- Examples
  1. Basic
  2. Multi Filter Select
  3. Add Row

#### Examples

##### Basic

Name | Position | Office | Age | Start date | Salary
--- | --- | --- | --- | --- | ---
Name | Position | Office | Age | Start date | Salary
Tiger Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800
Garrett Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750
Ashton Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000
Cedric Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060
Airi Satou | Accountant | Tokyo | 33 | 2008/11/28 | $162,700
Brielle Williamson | Integration Specialist | New York | 61 | 2012/12/02 | $372,000
Herrod Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500
Rhona Davidson | Integration Specialist | Tokyo | 55 | 2010/10/14 | $327,900
Colleen Hurst | Javascript Developer | San Francisco | 39 | 2009/09/15 | $205,500
Sonya Frost | Software Engineer | Edinburgh | 23 | 2008/12/13 | $103,600
Jena Gaines | Office Manager | London | 30 | 2008/12/19 | $90,560
Quinn Flynn | Support Lead | Edinburgh | 22 | 2013/03/03 | $342,000
Charde Marshall | Regional Director | San Francisco | 36 | 2008/10/16 | $470,600
Haley Kennedy | Senior Marketing Designer | London | 43 | 2012/12/18 | $313,500
Tatyana Fitzpatrick | Regional Director | London | 19 | 2010/03/17 | $385,750
Michael Silva | Marketing Designer | London | 66 | 2012/11/27 | $198,500
Paul Byrd | Chief Financial Officer (CFO) | New York | 64 | 2010/06/09 | $725,000
Gloria Little | Systems Administrator | New York | 59 | 2009/04/10 | $237,500
Bradley Greer | Software Engineer | London | 41 | 2012/10/13 | $132,000
Dai Rios | Personnel Lead | Edinburgh | 35 | 2012/09/26 | $217,500
Jenette Caldwell | Development Lead | New York | 30 | 2011/09/03 | $345,000
Yuri Berry | Chief Marketing Officer (CMO) | New York | 40 | 2009/06/25 | $675,000
Caesar Vance | Pre-Sales Support | New York | 21 | 2011/12/12 | $106,450
Doris Wilder | Sales Assistant | Sidney | 23 | 2010/09/20 | $85,600
Angelica Ramos | Chief Executive Officer (CEO) | London | 47 | 2009/10/09 | $1,200,000
Gavin Joyce | Developer | Edinburgh | 42 | 2010/12/22 | $92,575
Jennifer Chang | Regional Director | Singapore | 28 | 2010/11/14 | $357,650
Brenden Wagner | Software Engineer | San Francisco | 28 | 2011/06/07 | $206,850
Fiona Green | Chief Operating Officer (COO) | San Francisco | 48 | 2010/03/11 | $850,000
Shou Itou | Regional Marketing | Tokyo | 20 | 2011/08/14 | $163,000
Michelle House | Integration Specialist | Sidney | 37 | 2011/06/02 | $95,400
Suki Burks | Developer | London | 53 | 2009/10/22 | $114,500
Prescott Bartlett | Technical Author | London | 27 | 2011/05/07 | $145,000
Gavin Cortez | Team Leader | San Francisco | 22 | 2008/10/26 | $235,500
Martena Mccray | Post-Sales support | Edinburgh | 46 | 2011/03/09 | $324,050
Unity Butler | Marketing Designer | San Francisco | 47 | 2009/12/09 | $85,675
Howard Hatfield | Office Manager | San Francisco | 51 | 2008/12/16 | $164,500
Hope Fuentes | Secretary | San Francisco | 41 | 2010/02/12 | $109,850
Vivian Harrell | Financial Controller | San Francisco | 62 | 2009/02/14 | $452,500
Timothy Mooney | Office Manager | London | 37 | 2008/12/11 | $136,200
Jackson Bradshaw | Director | New York | 65 | 2008/09/26 | $645,750
Olivia Liang | Support Engineer | Singapore | 64 | 2011/02/03 | $234,500
Bruno Nash | Software Engineer | London | 38 | 2011/05/03 | $163,500
Sakura Yamamoto | Support Engineer | Tokyo | 37 | 2009/08/19 | $139,575
Thor Walton | Developer | New York | 61 | 2013/08/11 | $98,540
Finn Camacho | Support Engineer | San Francisco | 47 | 2009/07/07 | $87,500
Serge Baldwin | Data Coordinator | Singapore | 64 | 2012/04/09 | $138,575
Zenaida Frank | Software Engineer | New York | 63 | 2010/01/04 | $125,250
Zorita Serrano | Software Engineer | San Francisco | 56 | 2012/06/01 | $115,000
Jennifer Acosta | Junior Javascript Developer | Edinburgh | 43 | 2013/02/01 | $75,650
Cara Stevens | Sales Assistant | New York | 46 | 2011/12/06 | $145,600
Hermione Butler | Regional Director | London | 47 | 2011/03/21 | $356,250
Lael Greer | Systems Administrator | London | 21 | 2009/02/27 | $103,500
Jonas Alexander | Developer | San Francisco | 30 | 2010/07/14 | $86,500
Shad Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000
Michael Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000
Donna Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000

                      <div class="table-responsive">
                        <table id="basic-datatables" class="display table table-striped table-hover" cellspacing="0" width="100%">
                          <thead>
                            ...
                          </thead>
                          <tfoot>
                            ...
                          </tfoot>
                          <tbody>
                            ...
                          </tbody>
                        </table>
                      </div>

                      $('#basic-datatables').DataTable();

##### Multi Filter Select

Name | Position | Office | Age | Start date | Salary
--- | --- | --- | --- | --- | ---
Name | Position | Office | Age | Start date | Salary
Tiger Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800
Garrett Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750
Ashton Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000
Cedric Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060
Airi Satou | Accountant | Tokyo | 33 | 2008/11/28 | $162,700
Brielle Williamson | Integration Specialist | New York | 61 | 2012/12/02 | $372,000
Herrod Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500
Rhona Davidson | Integration Specialist | Tokyo | 55 | 2010/10/14 | $327,900
Colleen Hurst | Javascript Developer | San Francisco | 39 | 2009/09/15 | $205,500
Sonya Frost | Software Engineer | Edinburgh | 23 | 2008/12/13 | $103,600
Jena Gaines | Office Manager | London | 30 | 2008/12/19 | $90,560
Quinn Flynn | Support Lead | Edinburgh | 22 | 2013/03/03 | $342,000
Charde Marshall | Regional Director | San Francisco | 36 | 2008/10/16 | $470,600
Haley Kennedy | Senior Marketing Designer | London | 43 | 2012/12/18 | $313,500
Tatyana Fitzpatrick | Regional Director | London | 19 | 2010/03/17 | $385,750
Michael Silva | Marketing Designer | London | 66 | 2012/11/27 | $198,500
Paul Byrd | Chief Financial Officer (CFO) | New York | 64 | 2010/06/09 | $725,000
Gloria Little | Systems Administrator | New York | 59 | 2009/04/10 | $237,500
Bradley Greer | Software Engineer | London | 41 | 2012/10/13 | $132,000
Dai Rios | Personnel Lead | Edinburgh | 35 | 2012/09/26 | $217,500
Jenette Caldwell | Development Lead | New York | 30 | 2011/09/03 | $345,000
Yuri Berry | Chief Marketing Officer (CMO) | New York | 40 | 2009/06/25 | $675,000
Caesar Vance | Pre-Sales Support | New York | 21 | 2011/12/12 | $106,450
Doris Wilder | Sales Assistant | Sidney | 23 | 2010/09/20 | $85,600
Angelica Ramos | Chief Executive Officer (CEO) | London | 47 | 2009/10/09 | $1,200,000
Gavin Joyce | Developer | Edinburgh | 42 | 2010/12/22 | $92,575
Jennifer Chang | Regional Director | Singapore | 28 | 2010/11/14 | $357,650
Brenden Wagner | Software Engineer | San Francisco | 28 | 2011/06/07 | $206,850
Fiona Green | Chief Operating Officer (COO) | San Francisco | 48 | 2010/03/11 | $850,000
Shou Itou | Regional Marketing | Tokyo | 20 | 2011/08/14 | $163,000
Michelle House | Integration Specialist | Sidney | 37 | 2011/06/02 | $95,400
Suki Burks | Developer | London | 53 | 2009/10/22 | $114,500
Prescott Bartlett | Technical Author | London | 27 | 2011/05/07 | $145,000
Gavin Cortez | Team Leader | San Francisco | 22 | 2008/10/26 | $235,500
Martena Mccray | Post-Sales support | Edinburgh | 46 | 2011/03/09 | $324,050
Unity Butler | Marketing Designer | San Francisco | 47 | 2009/12/09 | $85,675
Howard Hatfield | Office Manager | San Francisco | 51 | 2008/12/16 | $164,500
Hope Fuentes | Secretary | San Francisco | 41 | 2010/02/12 | $109,850
Vivian Harrell | Financial Controller | San Francisco | 62 | 2009/02/14 | $452,500
Timothy Mooney | Office Manager | London | 37 | 2008/12/11 | $136,200
Jackson Bradshaw | Director | New York | 65 | 2008/09/26 | $645,750
Olivia Liang | Support Engineer | Singapore | 64 | 2011/02/03 | $234,500
Bruno Nash | Software Engineer | London | 38 | 2011/05/03 | $163,500
Sakura Yamamoto | Support Engineer | Tokyo | 37 | 2009/08/19 | $139,575
Thor Walton | Developer | New York | 61 | 2013/08/11 | $98,540
Finn Camacho | Support Engineer | San Francisco | 47 | 2009/07/07 | $87,500
Serge Baldwin | Data Coordinator | Singapore | 64 | 2012/04/09 | $138,575
Zenaida Frank | Software Engineer | New York | 63 | 2010/01/04 | $125,250
Zorita Serrano | Software Engineer | San Francisco | 56 | 2012/06/01 | $115,000
Jennifer Acosta | Junior Javascript Developer | Edinburgh | 43 | 2013/02/01 | $75,650
Cara Stevens | Sales Assistant | New York | 46 | 2011/12/06 | $145,600
Hermione Butler | Regional Director | London | 47 | 2011/03/21 | $356,250
Lael Greer | Systems Administrator | London | 21 | 2009/02/27 | $103,500
Jonas Alexander | Developer | San Francisco | 30 | 2010/07/14 | $86,500
Shad Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000
Michael Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000
Donna Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000

                      <div class="table-responsive">
                        <table id="multi-filter-select" class="display table table-striped table-hover" cellspacing="0" width="100%">
                          <thead>
                            ...
                          </thead>
                          <tfoot>
                            ...
                          </tfoot>
                          <tbody>
                            ...
                          </tbody>
                        </table>
                      </div>

                      $('#multi-filter-select').DataTable( {
                        "pageLength": 5,
                        initComplete: function () {
                          this.api().columns().every( function () {
                            var column = this;
                            var select = $('')
                            .appendTo( $(column.footer()).empty() )
                            .on( 'change', function () {
                              var val = $.fn.dataTable.util.escapeRegex(
                                $(this).val()
                                );

                              column
                              .search( val ? '^'+val+'$' : '', true, false )
                              .draw();
                            } );

                            column.data().unique().sort().each( function ( d, j ) {
                              select.append( ''+d+'' )
                            } );
                          } );
                        }
                      });

##### Add Row

##### New Row

Create a new row using this form, make sure you fill them all

Name
Position
Office

Name | Position | Office | Action
--- | --- | --- | ---
Name | Position | Office | Action
Tiger Nixon | System Architect | Edinburgh |
Garrett Winters | Accountant | Tokyo |
Ashton Cox | Junior Technical Author | San Francisco |
Cedric Kelly | Senior Javascript Developer | Edinburgh |
Airi Satou | Accountant | Tokyo |
Brielle Williamson | Integration Specialist | New York |
Herrod Chandler | Sales Assistant | San Francisco |
Rhona Davidson | Integration Specialist | Tokyo |
Colleen Hurst | Javascript Developer | San Francisco |
Sonya Frost | Software Engineer | Edinburgh |

                      <!-- Button -->
                    <div class="d-flex">
                      <button class="btn btn-primary btn-round ml-auto mb-3" data-bs-toggle="modal" data-bs-target="#addRowModal">
                        <i class="fa fa-plus"></i>
                        Add Row
                      </button>
                    </div>

                    <!-- Modal -->
                    <div class="modal fade" id="addRowModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
                      <div class="modal-dialog" role="document">
                        <div class="modal-content">
                          <div class="modal-header border-0">
                            <h5 class="modal-title">
                              <span class="fw-mediumbold">
                              New</span>
                              <span class="fw-light">
                                Row
                              </span>
                            </h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                              <span aria-hidden="true">&times;</span>
                            </button>
                          </div>
                          <div class="modal-body">
                            <p class="small">Create a new row using this form, make sure you fill them all</p>
                            <form role="form">
                              <div class="row">
                                <div class="col-sm-12">
                                  <div class="form-group form-group-default">
                                    <label>Name</label>
                                    <input id="addName" type="text" class="form-control" placeholder="fill name">
                                  </div>
                                </div>
                                <div class="col-md-6 pr-0">
                                  <div class="form-group form-group-default">
                                    <label>Position</label>
                                    <input id="addPosition" type="text" class="form-control" placeholder="fill position">
                                  </div>
                                </div>
                                <div class="col-md-6">
                                  <div class="form-group form-group-default">
                                    <label>Office</label>
                                    <input id="addOffice" type="text" class="form-control" placeholder="fill office">
                                  </div>
                                </div>
                              </div>
                            </form>
                          </div>
                          <div class="modal-footer border-0">
                            <button type="button" id="addRowButton" class="btn btn-primary">Add</button>
                            <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
                          </div>
                        </div>
                      </div>
                    </div>

                    <!-- Table -->
                    <div class="table-responsive">
                      <table id="add-row" class="display table table-striped table-hover" cellspacing="0" width="100%">
                        <thead>
                          ...
                        </thead>
                        <tfoot>
                          ...
                        </tfoot>
                        <tbody>
                          ...
                        </tbody>
                      </table>
                    </div>

                      // Add Row
                      $('#add-row').DataTable({
                        "pageLength": 5,
                      });

                      var action = '<td> <div class="form-button-action"> <button type="button" data-bs-toggle="tooltip" title="" class="btn btn-link btn-simple-primary btn-lg" data-bs-title="Edit Task"> <i class="fa fa-edit"></i> </button> <button type="button" data-bs-toggle="tooltip" title="" class="btn btn-link btn-simple-danger" data-bs-title="Remove"> <i class="fa fa-times"></i> </button> </div> </td>';

                      $('#addRowButton').click(function() {
                        $('#add-row').dataTable().fnAddData([
                          $("#addName").val(),
                          $("#addPosition").val(),
                          $("#addOffice").val(),
                          action
                          ]);
                        $('#addRowModal').modal('hide');

                      });