Edit jQuery Datatable fields

http://stackoverflow.com/q/27465239/1430996

by Jeromy French

HTML

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="//cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>
<table id="accountOverview" class="table datatable">
    <thead>
        <tr>
            <th>E-Mail</th>
            <th>Platform</th>
            <th>Coins</th>
            <th>Profit last 24h</th>
            <th>Playername</th>
            <th>Tradepile Cards</th>
            <th>Tradepile Value</th>
            <th>Status</th>
        </tr>
    </thead>
    <tbody id="accountList">
        <tr>
            <td>[email protected]</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>0</td>
        </tr>
        <tr>
            <td>[email protected]</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>1</td>
        </tr>
        <tr>
            <td>[email protected]</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>blah</td>
            <td>1</td>
        </tr>
    </tbody>
</table>

JavaScript

var apply_label=function(){
		$('#accountOverview').find('td:last-child').not(':has(.label)').each(function(){
			if( this.innerHTML==="1"){
				$(this).wrapInner('<span class="label label-success"></span>');
			}
			else {
				$(this).wrapInner('<span class="label label-danger"></span>');
			}
		});
	};
	$('#accountOverview').dataTable( {
		"columns": [
			{ "data": "email" },
			{ "data": "platform" },
			{ "data": "coins" },
			{ "data": "profitDay" },
			{ "data": "playerName" },
			{ "data": "tradepileCards" },
			{ "data": "tradepileValue" },
			{ "data": "enabled" }
		],
		"autoWidth": false,
		"drawCallback": function( settings ) {
			apply_label();
		}
	});