Datatables delete row based on less than date match input
Datatables delete row based on less than date match - andrew pougher
by Andrew Pougher
HTML
<script src="http://datatables.net/release-datatables/media/js/jquery.dataTables.js"></script>
<link rel="stylesheet" href="http://datatables.net/release-datatables/media/css/demo_table.css">
<input type="text" placeholder="21-07-2011" id="fm" value="21-07-2011"/><br>
<br><table cellpadding="0" cellspacing="0" border="0" class="dataTable" id="example">
<thead>
<tr>
<th>NAME</th>
<th>FROM</th>
<th>TO</th>
<th>TRANSPORT</th>
<th>STATUS</th>
</tr>
</thead>
<tbody>
<tr>
<td>bob</td>
<td>Tuesday, July 10, 2011</td>
<td>Wednesday, July 11, 2012</td>
<td>car</td>
<td>booked</td>
</tr>
<tr>
<td>bob</td>
<td>Saturday, July 07, 2012</td>
<td>Wednesday, July 11, 2012</td>
<td>car</td>
<td>booked</td>
</tr>
<tr>
<td>bob</td>
<td>Sunday, July 08, 2012</td>
<td>Monday, July 09, 2012</td>
<td>car</td>
<td>booked</td>
</tr>
<tr>
<td>bob</td>
<td>Sunday, July 08, 2012</td>
<td>Monday, July 09, 2012</td>
<td>car</td>
<td>booked</td>
</tr>
<tr>
<td>bob</td>
<td>Saturday, July 07, 2012</td>
<td>Monday, July 09, 2012</td>
<td>car</td>
<td>booked</td>
</tr>
<tr>
<td>Mike</td>
<td>Saturday, July 07, 2012</td>
<td>Monday, July 09, 2012</td>
<td>hotel</td>
<td>Held</td>
</tr>
<tr>
<td>Mike</td>
<td>Saturday, July 07, 2012</td>
<td>Monday, July 09, 2012</td>
<td>hotel</td>
<td>Held</td>
</tr>
</tbody>
</table>
JavaScript
$(document).ready(function() {
$('#example').dataTable(
{
"sPaginationType": "full_numbers",
"iDisplayLength": 5,
"aoColumns": [
null,
{sWidth: '90px', "sClass": 'ui-datepicker-inline', "fnRender": function ( o, val ) { return killDatefn(val); }},
null,
null,
null
],
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
tableFMdate = aData[1];
//$("body").append(tableFMdate + "-----")
},
"fnDrawCallback": function (oSettings) {
var dtr = $('td:nth-child(2)', this.fnGetNodes()).text();
$("body").append("<br clear='both'><hr>"+dtr);
//var row = $("td:nth-child(2):contains('less')'", this.fnGetNodes());
var pos = $("table").find("td:contains('less')").parent("tr").get(0);
oTable = $('#example').dataTable( );
oTable.fnDeleteRow(pos);
$("table").find("td:contains('less')").parent("tr").fadeOut(2000);
}
}
);
});// end
function killDatefn(tdate){
var d = $.datepicker.parseDate("DD, MM d, yy", tdate);
var f = $.datepicker.parseDate('dd-mm-yy', $('input:first').val());// FROM DATE PICKER
if (d < f) {
return 'less';
}else{
return tdate
}
}