<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<link media="all" type="text/css" rel="stylesheet" href="https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css">
<!--
<link media="all" type="text/css" rel="stylesheet" href="https://cdn.datatables.net/searchpanes/1.2.2/css/searchPanes.dataTables.min.css">
-->
<link media="all" type="text/css" rel="stylesheet" href="https://cdn.datatables.net/select/1.3.3/css/select.dataTables.min.css">
<script src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
<!--
<script src="https://cdn.datatables.net/searchpanes/1.2.2/js/dataTables.searchPanes.min.js"></script>
-->
<script src="https://cdn.datatables.net/select/1.3.3/js/dataTables.select.min.js"></script>
<link href="https://nightly.datatables.net/searchpanes/css/searchPanes.dataTables.css?_=d04a390fd2771ded7f734d95712c4498.css" rel="stylesheet" type="text/css" />
<script src="https://nightly.datatables.net/searchpanes/js/dataTables.searchPanes.js?asiydfgbalisufbasd"></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></th>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th></th>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Salary</th>
            </tr>
        </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;
}
td.details-control {
    background: url('https://www.datatables.net/examples/resources/details_open.png') no-repeat center center;
    cursor: pointer;
}
tr.shown td.details-control {
    background: url('https://www.datatables.net/examples/resources/details_close.png') no-repeat center center;
}
td.details-control1 {
    background: url('https://www.datatables.net/examples/resources/details_open.png') no-repeat center center;
    cursor: pointer;
}
tr.shown td.details-control1 {
    background: url('https://www.datatables.net/examples/resources/details_close.png') no-repeat center center;
}
 
var childEditors = {};  // Globally track created chid editors
$(document).ready(function() {
    
  // Generate table ID
  function getTableId(level, uniqueData) {
    // level = child level.
    // uniqueData - unique data value in table.
    return level + '-' + uniqueData.replace(' ', '-'); // Replace sapces with dashes
  }
  
  // Return table with id generated from row's name field
  function format(rowData, tableId) {
    // rowData - data for the table.
    // tableId - unique table ID for child table.
    // This function just builds the table tag.
    return '<table id="' + tableId + '" cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
           '</table>';  
  }
  
  // Main table
  var table = $('#example').DataTable( {
    ajax: "/ajax/objects.txt",
    pageLength: 5,
    dom: 'Plfrtip',
    columns: [
      {
         className: 'details-control main-table',
         orderable: false,
         data: null,
         defaultContent: ''
      },
      { data: "name" },
      { data: "position" },
      { data: "office" },
      { data: "salary" }
    ],
    order: [[1, 'asc']],
  });
  
  
  // Add event listener for for main talbe to open and close first level child details
  $('#example tbody').on('click', 'td.main-table', function () {
     var tr = $(this).closest('tr');
     var row = table.row( tr );
     var rowData = row.data();
      
 
     if ( row.child.isShown() ) {
       // This row is already open - close it
       row.child.hide();
       tr.removeClass('shown');
        
       // Destroy the Child Datatable
       $('#' + rowData.name.replace(' ', '-')).DataTable().destroy();
     }
     else {
       
       var id = getTableId("1", rowData.name);
       
       $('#' + id).on('xhr.dt', function(event) {
         event.stopPropagation();
       });
       
       // Open this row
       row.child(format(rowData, id)).show();
       $('#' + id).DataTable({
          dom: "t",
          ajax: "/ajax/objects.txt",
          columns: [
            { data: "name", title: 'Name' },
            { data: "position", title: 'Position' },
            { data: "extn", title: 'Extension' },
          ],
          scrollY: '100px',
          select: true,
       });
        
       tr.addClass('shown');
    }
  });
            
          
});
Output 300px

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

Dismiss x
public
Bin info
anonymouspro
0viewers