<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <link href="https://nightly.datatables.net/css/dataTables.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://nightly.datatables.net/js/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>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
          </tr>
        </thead>
        <tbody></tbody>
        <tfoot></tfoot>
      </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 studenttable = null;
var studentarray = [
  {
    "stuname":"Mike",
    "stuid":"1111",
    "stucat":"senior",
  },
    {
    "stuname":"Carol",
    "stuid":"2222",
    "stucat":"junior",
  },
  {
    "stuname":"Tyson",
    "stuid":"3333",
    "stucat":"freshman",
  }  
  
];
    
$(document).ready(function () {
    Load_Packages();
}); 
function Load_Packages() {
    if (studenttable != null){
        studenttable.destroy();
    }
    
    studenttable = new DataTable('#example', {
        layout: {
            topStart: 'pageLength',
            topEnd: '',
            bottomStart: '',
            bottomEnd: 'paging'
        },  
        orderCellsTop: 1,
        pageLength: 16,     
        rowId: 'stuid',
      data: studentarray,
        columns: [  
            { 
                title : "Student Name",
                data : "stuname" 
            },
            { 
                title : "Student ID", 
                data : 'stuid'          
            },          
            { 
                title : "Category", 
                data : 'stucat'     
            }
        ],
      
        initComplete: function () {
            this.api()
                .columns()
                .every(function () {
                    let column = this;
                    let title = column.header().textContent;
     
                    // Create input element
                    let input = document.createElement('input');
                    input.placeholder = title;
                    column.header(1).replaceChildren(input);
     
                    // Event listener for user input
                    input.addEventListener('keyup', () => {
                        if (column.search() !== this.value) {
                            column.search(input.value).draw();
                        }
                    });
                });
        }       
    });
    
    $('#example')
        .on('xhr.dt',function (e,settings,json,xhr) {
            console.log(json);
            if (json.errnum) {
                if (json.errnum == 1) {
                    openLogin(Load_Packages);
                } else {
                    alert(json.errnum + " " + json.errstr);
                }
                json.configs = [];
            }
        } );
        
        
}
Output 300px

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

Dismiss x
public
Bin info
anonymouspro
0viewers