DataTables individual search columns

DataTables individual search columns example.

HTML

<script src="//cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="http://cdn.rawgit.com/ashl1/datatables-rowsgroup/v1.0.0/dataTables.rowsGroup.js"></script>
<table id="example" class="display table table-striped table-bordered" cellspacing="0" 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 <span class = "hiddenspan">#deal#</span></td>
            <td>Junior Technical Author <span class = "hiddenspan">#deal#</span></td>
            <td>San Francisco <span class = "hiddenspan">#deal#</span></td>
            <td>66 <span class = "hiddenspan">#deal#</span></td>
            <td>2009/01/12</td>
            <td>$86,000</td>
        </tr>
               <tr>
            <td>Ashton Cox <span class = "hiddenspan">#deal#</span></td>
            <td>Junior Technical Author <span class = "hiddenspan">#deal#</span></td>
            <td>San Francisco <span class = "hiddenspan">#deal#</span></td>
            <td>66 <span class = "hiddenspan">#deal#</span></td>
            <td>2019/01/12</td>
   ...

CSS

#example tfoot {
    display: table-header-group;
}
    span.hiddenspan {
    display: none;
}

JavaScript

$(document).ready(function () {
    // Setup - add a text input to each footer cell
    $('#example tfoot th').each(function () {
        var title = $('#example thead th').eq($(this).index()).text();
        $(this).html('<input type="text" placeholder="Search ' + title + '" />');
    });


(function () {

var _div = document.createElement('div');

jQuery.fn.dataTable.ext.type.search.html = function ( data ) {
	_div.innerHTML = data;
	return _div.textContent ?
		_div.textContent.replaceBetween(	_div.textContent.indexOf('#'),_div.textContent.lastIndexOf('#')," ") :
		_div.innerText.replaceBetween(_div.textContent.indexOf('#'),_div.textContent.lastIndexOf('#')," ");
};

String.prototype.replaceBetween = function(start, end, what) {
  return this.substring(0, start) + what + this.substring(end);
};

})();


    // DataTable
    var table = $('#example').DataTable({
    "columnDefs": [
    { "type": "html", "targets": 0 }
  ],
    
    'rowsGroup': [0,1,2,3] 
    });

    // Apply the search
    table.columns().eq(0).each(function (colIdx) {
        $('input', table.column(colIdx).footer()).on('keyup change', function () {

            table.column(colIdx)
                .search(
                this.value
                )
                .draw();
        });
    });

    
    
});