<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" />
<script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<meta charset=utf-8 />
<title>DataTables - JS Bin</title>
</head>
<body>
<div class="container">
<br>
<button id="addRow">Add new row</button>
<table id="example" class="display nowrap" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Price</th>
<th>Qty</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Seat</td>
<td>690</td>
<td>2</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 table;
// Helper to be able to use multiple renderers
$.fn.dataTable.render.multi = function(renderArray) {
return function(d, type, row, meta) {
for(var r = 0; r < renderArray.length; r++) {
d = renderArray[r](d, type, row, meta);
}
return d;
};
};
// Helper to color negative amount
$.fn.dataTable.render.colorNegative = function ( data, type, row ) {
if (data < 0) {
return '<span style="color:' + 'red' + '">' + ata + '</span>';
}
return data;
};
function addRow(json) {
var row = JSON.parse(json);
table.row.add(row).draw();
}
$(document).ready( function () {
table = $('#example').DataTable({
"columns": [
{ "data": "name" },
{ "data": "price", render: $.fn.dataTable.render.multi(
[
$.fn.dataTable.render.number( ',', '.', 2),
$.fn.dataTable.render.colorNegative()
])
}, { "data": "quantity" },
{ "data": null, render: function (data, type, row) { // null is to get all data for computing values, see "Computing values" section at https://datatables.net/manual/data/renderers#Functions
return ((data.price * data.quantity));
}},
],
});
var json = '{"name":"Discount", "price": -15, "quantity": 2, "total": ""}';
$('#addRow').on( 'click', function () {
addRow(json);
});
// Automatically add a first row of data
$('#addRow').click();
} );
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. |