<!DOCTYPE html>
<html>
  <head>
<meta name="description" content="[add your bin description]" />
   <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link href="https://cdn.datatables.net/1.10.9/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.js"></script>
 
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  <body>
    <div class="container">
      <table id="example" class="display nowrap" width="100%">
        <thead>
          <tr>
            <th>subject</th>
            <th>period</th>
            <th>date</th>
          </tr>
          <tr>
            <th>subject</th>
            <th>period</th>
            <th>date</th>
          </tr>   
        </thead>
        <tfoot>
          <tr>
            <th>subject</th>
            <th>period</th>
            <th>date</th>>
          </tr>
        </tfoot>
        <tbody>
          <tr>
                <td>morning</td>
                <td>sport</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>food</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>game</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>sport</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>night</td>
                <td>food</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>night</td>
                <td>game</td>
                <td>2012/08/20</td>
            </tr>
            <tr>
                <td>night</td>
                <td>sport</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>food</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>game</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>sport</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>night</td>
                <td>food</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>night</td>
                <td>game</td>
                <td>2012/01/21</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>sport</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>food</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>game</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>sport</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>night</td>
                <td>food</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>night</td>
                <td>game</td>
                <td>2012/02/19</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>sport</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>food</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>game</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>sport</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>night</td>
                <td>food</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>night</td>
                <td>game</td>
                <td>2015/10/21</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>sport</td>
                <td>2018/05/25</td>
            </tr>
            <tr>
                <td>morning</td>
                <td>food</td>
                <td>2018/05/25</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>game</td>
                <td>2018/05/25</td>
            </tr>
            <tr>
                <td>evening</td>
                <td>sport</td>
                <td>2018/05/25</td>
            </tr>
            <tr>
                <td>night</td>
                <td>food</td>
                <td>2018/05/25</td>
            </tr>
            <tr>
                <td>night</td>
                <td>game</td>
                <td>2018/05/25</td>
            </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 
$(document).ready(function() {
  var table = $('#example').DataTable({
    orderCellsTop: true
  });
  
  buildSelect( table );
  table.on( 'draw', function () {
    buildSelect( table );
  } );
} );
function buildSelect( table ) {
  table.columns().every( function () {
    var column = table.column( this, {search: 'applied'} );
    console.log(this.index())
    var select = $('<select><option value=""></option></select>')
          .appendTo($("thead tr:nth-child(2) th").eq(column.index()).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>' );
    } );
    
//     The rebuild will clear the exisiting select, so it needs to be repopulated
    var currSearch = column.search();
    if ( currSearch ) {
      select.val( currSearch.substring(1, currSearch.length-1) );
    }
  } );
}
1 error
Line 15: Missing semicolon.
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers