Datatables filter numbers greater than

后端 未结 2 932
感动是毒
感动是毒 2021-01-22 22:04

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 )
           


        
相关标签:
2条回答
  • 2021-01-22 22:48

    "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

    1. $.fn.dataTable.ext.search.push( filter function )
    2. table.draw()
    3. $.fn.dataTable.ext.search.pop()
    0 讨论(0)
  • 2021-01-22 22:52

    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> 

    0 讨论(0)
提交回复
热议问题