JavaScriptDataTable如何自定义排序?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (800)

我想按自定义顺序对DataTable进行排序。例如,人员的职位/级别。不是用数字,也不是按字母排序。有人有什么想法吗?

<table id="example" class="display" style="width:100%">
<thead>
  <tr>
    <th>Name</th>
    <th>Position</th>
    <th>Office</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>Tiger Nixon</td>
    <td>Manager</td>
    <td>Edinburgh</td>
  </tr>
  <tr>
    <td>Garrett Winters</td>
    <td>CEO</td>
    <td>Tokyo</td>
  </tr>
  <tr>
    <td>Ashton Cox</td>
    <td>Janitor</td>
    <td>San Francisco</td>
  </tr>
</tbody>
<table>

我试了一下,但搞不懂

$(document).ready(function() {
  $('#example').DataTable({
    "columnDefs": [{
        "type": "CEO",
        "targets": 1
      },
      {
        "type": "Manager",
        "targets": 2
      } {
        "type": "Janitor",
        "targets": 3
      }
    ]
  });
});
提问于
用户回答回答于

我想出来了

$.fn.dataTable.ext.type.order['ranking-pre'] = function ( d ) {
    switch ( d ) {
        case 'CEO':    return 1;
        case 'Manager': return 2;
        case 'Janitor':   return 3;
    }
    return 0;
};

$('#example').dataTable( {

"columnDefs": [ {
            "type": "ranking-level",
            "targets": 1
        } ]

});

扫码关注云+社区

领取腾讯云代金券