Anand Kadhi
Anand Kadhi

Reputation: 1878

AngularJS Datatables sort on checked items

I am using anguarljs Lin Datatables Lin Datatables
The datatables work nice and search,sort works great, but there is a requirement to sort the datatable's on checked items.
For example , when user checks the checkbox and wants to sort on basis of checked items the sorting functionality doesn't work.
enter image description here
Can anyone please suggest how to sort using Lin datatables on basis of check-boxes.
The html code for checking the check-box state is

    <td><input id="{{content.fileName}}" type="checkbox"
value="{{content.fileName}}" ng-model="content.isChecked"
ng-click="toggleSelection(content)" /></td>

Upvotes: 1

Views: 923

Answers (1)

davidkonrad
davidkonrad

Reputation: 85528

You should implement the small dom-checkbox plugin. It works with angular dataTables as well :

$.fn.dataTable.ext.order['dom-checkbox'] = function  ( settings, col ) {
  return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
    return $('input', td).prop('checked') ? '1' : '0';
  })
}

Then set the # column to use dom-checkbox as orderDataType :

DTColumnBuilder
  .newColumn(1)  
  .withTitle('#')
  .withOption('orderDataType', 'dom-checkbox'),

have replicated your scenario here -> http://plnkr.co/edit/kXFzUmcjikUOQliqn02Z?p=preview

Upvotes: 2

Related Questions