I am using datables, I need to filter particular column whose values are greater than 50 , I tried below code , but nothing happens
oTable.api().column( 10 )
"Nothing happens" because nothing is expected to happen. filter() should be used to create internal datasets or extract subsets of data - if you want to filter the rows in the table you should use a custom filter. It could look like this :
$.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
return data[10] > 50 //type conversion is not necessary
})
This works as a "master" filter before .search()
(and other filters). If you want to remove the filter you can use $.fn.dataTable.ext.search.pop()
. So
$.fn.dataTable.ext.search.push( filter function )
table.draw()
$.fn.dataTable.ext.search.pop()
If you want to check any number greater than 5 then you can write ternary conditional with the hidden column in dataTable. Using filter add MORETHAN5RECORD as a value in the select dropdown to filter greater than 5 records.
Here is the Code :
var table = $('#record_table').DataTable({});
$('.FILTERCLASS').on('keyup change', function () {
buildFilters(table,this);
});
function buildFilters(table, element){
var type = $(element).data('type'),
col = $(element).data('col'),
id = $(element).id;
table
.column( col )
.search( element.value )
.draw();
}
<td><?php
echo (($row['xyz'] >= 5) ? $val['xyz']."(MORETHAN5RECORD)" : $val['xyz']); ?> </td>