JSFiddle - React, Tailwind, and code Playground
by ronnjoe
HTML
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css">
<script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div class="columnVisibility">
<select name="abc" class="toggle-vis">
<option data-column ="0" value="0">Name</option>
<option data-column="1" value="1">Position</option>
<option data-column="2" value="2">Office</option>
</select>
</div>
<table id="example" class="table table-striped table-bordered hover stripe" data-page-length="25" data-order="[[ 1, "asc" ]]" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
...
CSS
.hidden{
display:none;
}
.toolbar {
float: left;
}
JavaScript
// Varsion 1 : Simmple DataTable with along with columnToggle
// Version 2 : bootstrap,customtoolbar, domPosition and html data-avalues
var table = $('#example').DataTable( {
//"dom": '<lf<t><"toolbar"> ip> fl<"toolbar">rtip'
"dom": '<"top"fl>rt<"clear"><"bottom"ip>'
});
//var htmlc = $("#columnVisibility").html();
//$("div.toolbar").html(htmlc);
$("div.toolbar").html('<b>Custom tool bar! Text/images etc.</b>');
$('.toggle-vis').on( 'change', function (e) {
e.preventDefault();
// Get the column API object
//console.log($(this).val());
var column = table.column( $(this).val() );
// Toggle the visibility
column.visible( ! column.visible() );
} );