<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.5.1/css/buttons.dataTables.min.css">
<script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script>
<meta charset=utf-8 />
<title>DataTables - JS Bin</title>
</head>
<body>
<div class="container">
<table class="table display" id="example">
<thead>
<tr>
<th>
Category
</th>
<th>
Name
</th>
<th>
Quantity
</th>
<th>
Price
</th>
<th>
Total
</th>
</tr>
</thead>
<tfoot>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr class="cus-footer">
<th></th>
<th class="text-input"></th>
<th class="text-input"></th>
<th class="text-input"></th>
<th class="text-input"></th>
</tr>
</tfoot>
<tbody>
<tr class="odd" id="row_1" role="row"><td class="sorting_1">B</td><td>P1</td><td class=" sum">42</td><td class=" sum">1</td><td class=" sum">42</td></tr><tr class="even" id="row_2" role="row"><td class="sorting_1">A</td><td>P2</td><td class=" sum">1</td><td class=" sum">2</td><td class=" sum">2</td></tr><tr class="odd" id="row_3" role="row"><td class="sorting_1">A</td><td>P3</td><td class=" sum">1</td><td class=" sum">3</td><td class=" sum">3</td></tr><tr class="even" id="row_4" role="row"><td class="sorting_1">A</td><td>P4</td><td class=" sum">1</td><td class=" sum">4</td><td class=" sum">4</td></tr><tr class="odd" id="row_5" role="row"><td class="sorting_1">A</td><td>P5</td><td class=" sum">1</td><td class=" sum">5</td><td class=" sum">5</td></tr><tr class="even" id="row_6" role="row"><td class="sorting_1">A</td><td>P6</td><td class=" sum">1</td><td class=" sum">6</td><td class=" sum">6</td></tr><tr class="odd" id="row_7" role="row"><td class="sorting_1">A</td><td>P7</td><td class=" sum">1</td><td class=" sum">7</td><td class=" sum">7</td></tr><tr class="even" id="row_8" role="row"><td class="sorting_1">A</td><td>P8</td><td class=" sum">1</td><td class=" sum">8</td><td class=" sum">8</td></tr><tr class="odd" id="row_9" role="row"><td class="sorting_1">A</td><td>P9</td><td class=" sum">1</td><td class=" sum">9</td><td class=" sum">9</td></tr><tr class="even" id="row_10" role="row"><td class="sorting_1">A</td><td>P10</td><td class=" sum">1</td><td class=" sum">10</td><td class=" sum">10</td></tr>
<tr class="odd" id="row_11" role="row"><td class="sorting_1">B</td><td>P11</td><td class=" sum">1</td><td class=" sum">11</td><td class=" sum">11</td></tr><tr class="even" id="row_12" role="row"><td class="sorting_1">A</td><td>P12</td><td class=" sum">1</td><td class=" sum">12</td><td class=" sum">12</td></tr><tr class="odd" id="row_13" role="row"><td class="sorting_1">A</td><td>P13</td><td class=" sum">1</td><td class=" sum">13</td><td class=" sum">13</td></tr><tr class="even" id="row_14" role="row"><td class="sorting_1">A</td><td>P14</td><td class=" sum">1</td><td class=" sum">14</td><td class=" sum">14</td></tr><tr class="odd" id="row_15" role="row"><td class="sorting_1">A</td><td>P15</td><td class=" sum">1</td><td class=" sum">15</td><td class=" sum">15</td></tr><tr class="even" id="row_16" role="row"><td class="sorting_1">A</td><td>P16</td><td class=" sum">1</td><td class=" sum">16</td><td class=" sum">16</td></tr><tr class="odd" id="row_17" role="row"><td class="sorting_1">A</td><td>P17</td><td class=" sum">1</td><td class=" sum">17</td><td class=" sum">17</td></tr><tr class="even" id="row_18" role="row"><td class="sorting_1">A</td><td>P18</td><td class=" sum">1</td><td class=" sum">18</td><td class=" sum">18</td></tr><tr class="odd" id="row_19" role="row"><td class="sorting_1">A</td><td>P19</td><td class=" sum">1</td><td class=" sum">19</td><td class=" sum">19</td></tr><tr class="even" id="row_20" role="row"><td class="sorting_1">A</td><td>P20</td><td class=" sum">1</td><td class=" sum">20</td><td class=" sum">20</td></tr>
<tr class="odd" id="row_21" role="row"><td class="sorting_1">B</td><td>P21</td><td class=" sum">1</td><td class=" sum">21</td><td class=" sum">21</td></tr><tr class="even" id="row_22" role="row"><td class="sorting_1">A</td><td>P22</td><td class=" sum">1</td><td class=" sum">22</td><td class=" sum">22</td></tr><tr class="odd" id="row_23" role="row"><td class="sorting_1">A</td><td>P23</td><td class=" sum">1</td><td class=" sum">23</td><td class=" sum">23</td></tr><tr class="even" id="row_24" role="row"><td class="sorting_1">A</td><td>P24</td><td class=" sum">1</td><td class=" sum">24</td><td class=" sum">24</td></tr><tr class="odd" id="row_25" role="row"><td class="sorting_1">A</td><td>P25</td><td class=" sum">1</td><td class=" sum">25</td><td class=" sum">25</td></tr><tr class="even" id="row_26" role="row"><td class="sorting_1">A</td><td>P26</td><td class=" sum">1</td><td class=" sum">26</td><td class=" sum">26</td></tr><tr class="odd" id="row_27" role="row"><td class="sorting_1">A</td><td>P27</td><td class=" sum">1</td><td class=" sum">27</td><td class=" sum">27</td></tr><tr class="even" id="row_28" role="row"><td class="sorting_1">A</td><td>P28</td><td class=" sum">1</td><td class=" sum">28</td><td class=" sum">28</td></tr><tr class="odd" id="row_29" role="row"><td class="sorting_1">A</td><td>P29</td><td class=" sum">1</td><td class=" sum">29</td><td class=" sum">29</td></tr>
</body>
</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({
lengthMenu: [[10, 50, 100, 500, -1], [10, 50, 100, 500, "All"]],
dom: 'lBfrtip',
colReorder: true,
stateSave: true,
buttons: [
'csv', 'excel'
],
columns: [
{ data: "Category" },
{ data: "Name", className: "sum" },
{ data: "Quantity", className: "sum" },
{ data: "Price", className: "sum" },
{
data: null,
className: "sum",
render: function(data, type, row) {
return data.Quantity * data.Price;
}
}
],
"footerCallback": function(row, data, start, end, display) {
var api = this.api();
api.columns('.sum', { page: 'current' }).every(function () {
var sum = this
.data()
.reduce(function (a, b) {
var x = parseFloat(a) || 0;
var y = parseFloat(b) || 0;
return x + y;
}, 0);
console.log(sum); //alert(sum);
$(this.footer()).html(sum);
});
}
});
// Setup - add a text input to each footer cell
$('#example tfoot tr.cus-footer th.text-input').each( function () {
var title = $(this).text();
$(this).html( '<input type="text" placeholder="'+title+'" />' );
} );
// DataTable
var table = $('#example').DataTable();
// Apply the search
$( '#example tfoot .text-input' ).on( 'keyup', "input",function () {
console.log(this.value, $(this).parent().index())
table
.column( $(this).parent().index() )
.search( this.value )
.draw();
} );
table.column(0).every( function () {
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).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>')
});
});
});
You can jump to the latest bin by adding /latest
to your URL
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + [ | Indents selected lines |
ctrl + ] | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Clone Bin |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |