<!DOCTYPE html>
<html>
    <head>
        <link href="//datatables.net/download/build/nightly/jquery.dataTables.css" rel="stylesheet" type="text/css" />
  
        <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="//datatables.net/download/build/nightly/jquery.dataTables.js"></script>
        <meta charset=utf-8 />
        <title>DataTables - JS Bin</title>
    </head>
    <body>
        <div class="container">
            <table id="example" class="display" width="100%">
                <thead>
                    <tr>
                        <th></th>
                        <th>Name</th>
                        <th>Position</th>
                        <th>Office</th>
                        <th>Age</th>
                        <th>Start date</th>
                        <th>Salary</th>
                    </tr>
                </thead>
                <tfoot>
                    <tr>
                        <th></th>
                        <th>Name</th>
                        <th>Position</th>
                        <th>Office</th>
                        <th>Age</th>
                        <th>Start date</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;
}
div.container {
    min-width: 980px;
    margin: 0 auto;
}
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;
}
 
$(document).ready(function() {
function format ( d ) {
  return $('<tr>'+
            '<td><input type="button" class="submit" value="submit"/></td>'+
            '<td><input type="text" name="name" value="'+d.name+'"</input></td>'+
            '<td>'+d.position+'</td>'+
            '<td>'+d.office+'</td>'+
            '<td>'+d.extn+'</td>'+
            '<td>'+d.start_date+'</td>'+
            '<td>'+d.salary+'</td>'+
        '</tr>').toArray();
}
  
  var table = $('#example').DataTable( {
        "ajax": "/ajax/objects.txt",
        "columns": [
            {
                "orderable":      false,
                "data":           null,
                "defaultContent": '<input type="button" class="edit" value="edit"/>'
            },
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }
        ]
    } );
  
  
  
     $('#example tbody').on('click', 'td input.edit', function () {
        var tr = $(this).closest('tr');
        var row = table.row( tr );
 
        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
    } );
  
     $('#example tbody').on('click', 'td input.submit', function () {
       // Get child row
       var tr = $(this).closest('tr');
       
       // Find parent row
       var parent_tr = $(tr).prev();
       var parent_row = table.row( parent_tr );
       var data = parent_row.data();
        
       // Hide child details
       parent_row.child.hide();
       parent_tr.removeClass('shown');
       
       // Update parent row
       data.name = $('input[name="name"]', tr).val();
       parent_row.data( data ).draw();
       
       
    } );
  
 
  
} );
Output

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

Dismiss x
public
Bin info
anonymouspro
0viewers