How to show Jquery Datatable Individual column searching (select inputs) at the top of the table header
Dear All,
I had the below code where filters are working fine for html table. But I required it to show on top.
I had replaced the
.appendTo( $(column.footer ()).empty() ) to .appendTo( $(column.header()).empty() ) .But my table headers are going down . I required dropdowns on top my table headers
can any one please help me how can I do it.
- <!DOCTYPE html>
- <html>
- <head>
- <link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
- <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
- <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
- <script>
- $(document).ready(function() {
- $('#example').DataTable( {
- initComplete: function () {
- this.api().columns().every( function () {
- var column = this;
- var select = $('<select><option value=""></option></select>')
- .appendTo( $(column.header()).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( '<option value="'+d+'">'+d+'</option>' )
- } );
- } );
- }
- } );
- } );
- </script>
- </head>
- <body>
- <table id="example" class="display" style="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>
- <tbody>
- <tr>
- <td>Tiger Nixon</td>
- <td>System Architect</td>
- <td>Edinburgh</td>
- <td>61</td>
- <td>2011/04/25</td>
- <td>$320,800</td>
- </tr>
- <tr>
- <td>Garrett Winters</td>
- <td>Accountant</td>
- <td>Tokyo</td>
- <td>63</td>
- <td>2011/07/25</td>
- <td>$170,750</td>
- </tr>
- <tr>
- <td>Ashton Cox</td>
- <td>Junior Technical Author</td>
- <td>San Francisco</td>
- <td>66</td>
- <td>2009/01/12</td>
- <td>$86,000</td>
- </tr>
- <tr>
- <td>Cedric Kelly</td>
- <td>Senior Javascript Developer</td>
- <td>Edinburgh</td>
- <td>22</td>
- <td>2012/03/29</td>
- <td>$433,060</td>
- </tr>
- <tr>
- <td>Airi Satou</td>
- <td>Accountant</td>
- <td>Tokyo</td>
- <td>33</td>
- <td>2008/11/28</td>
- <td>$162,700</td>
- </tr>
- <tr>
- <td>Brielle Williamson</td>
- <td>Integration Specialist</td>
- <td>New York</td>
- <td>61</td>
- <td>2012/12/02</td>
- <td>$372,000</td>
- </tr>
-
- </tbody>
- <tfoot>
- <tr>
- <th>Name</th>
- <th>Position</th>
- <th>Office</th>
- <th>Age</th>
- <th>Start date</th>
- <th>Salary</th>
- </tr>
- </tfoot>
- </table>
- </body>
- </html>
Srk