<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.11.4/date-1.1.1/datatables.min.css"/>
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.11.4/date-1.1.1/datatables.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>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.11.4/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/datatables.min.css"/>
 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
     <script type="text/javascript" src="https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.11.4/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/datatables.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.11.4/rg-1.1.4/datatables.min.css"/>
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.11.4/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/rg-1.1.4/datatables.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.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>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
            <th>Sum</th>
          </tr>
        </thead>
        <tfoot>
          <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
            <th>Sum</th>
          </tr>
        </tfoot>
        <tbody>
          <tr>
            <td>Tiger Nixon</td>
            <td>System Architect</td>
            <td>Edinburgh</td>
            <td>61</td>
            <td>20/06/2022 3:40 AM</td>
            <td>$3,120</td>
            <td></td>
          </tr>
          <tr>
            <td>Garrett Winters</td>
            <td>Director</td>
            <td>Edinburgh</td>
            <td>63</td>
            <td>01/04/2022 3:40 AM</td>
            <td>$5,300</td>
            <td></td>
          </tr>
          <tr>
            <td>Ashton Cox</td>
            <td>Technical Author</td>
            <td>San Francisco</td>
            <td>66</td>
            <td>01/02/2022 3:40 AM</td>
            <td>$4,800</td>
            <td></td>
          </tr>
          <tr>
            <td>Cedric Kelly</td>
            <td>Javascript Developer</td>
            <td>Edinburgh</td>
            <td>22</td>
            <td>31/12/2021 3:40 AM</td>
            <td>$3,600</td>
            <td></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;
}
 
var minDate, maxDate;
 
// Custom filtering function which will search data in column four between two values
$.fn.dataTable.ext.search.push(
    function( settings, data, dataIndex ) {
        let min = moment($('#min').val(), 'DD/MM/YYYY', true).isValid() ?
            moment($('#min').val(), 'DD/MM/YYYY').format('YYYYMMDD') : "";
        
         let max = moment($('#max').val(), 'DD/MM/YYYY', true).isValid() ?
             moment($('#max').val(), 'DD/MM/YYYY').format('YYYYMMDD') : "";
      
        var date = moment( data[4], 'DD/MM/YYYY' ).format('YYYYMMDD');
      
        if ( max <= "" ) {
          max = "99991231";
        }
        
        if ( date >= min && date <= max ) {
           return true;
        }
        if ( moment().format('YYYYMMDD') === date ) {
          return true;
        }
      
        return false;
    }
);
 
$(document).ready(function() {
    
 
    // DataTables initialisation
    var table = $('#example').DataTable({
        initComplete: function () {
          // Create date input
          $(".dataTables_length label").after("<input class='form-control form-control-sm first_input float-end' id='min'>");
            $(".dataTables_wrapper div:eq(0)").append("<label class='float-start'></label>" +
            "<input class='form-control form-control-sm float-start' style='width: 33%;' id='max'>");
          minDate = new DateTime($('#min'), {
            format: 'DD/MM/YYYY'
          });
          maxDate = new DateTime($('#max'), {
            format: 'DD/MM/YYYY'
          });
        },
      dom: 'lrtip'
      });
 
    // Refilter the table
    $('#min, #max').on('change', function () {
        table.draw();
    });
});
2 warnings
Line 6: 'let' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 9: 'let' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Output 300px

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

Dismiss x
public
Bin info
anonymouspro
0viewers