即使被禁用,数据表排序asc图标仍会显示在第一列上

时间:2016-02-20 10:01:22

标签: php jquery datatables-1.10

您好我有以下表格设计。我不希望第一列和最后一列可以排序。我已经相应地设置了。但是图标asc仍然出现在第一列而不是最后一列。但是当我尝试对第二列进行排序时,它就会消失。

<table id="userTable" name='userTable' class="table table-striped table-bordered bootstrap-datatable " data-column-defs='[{"sortable": false, "targets": [0,3]}]' style='table-layout: fixed;'>
  <thead>
    <tr>
      <th class="no-sort" style='width: 10%;'>No.</th>
      <th style='width: 25%;'>First Name</th>
      <th style='width: 20%;'>last Name</th>
      <th style='width: 25%;'>Details</th>
    </tr>
  </thead>
</table>

3 个答案:

答案 0 :(得分:11)

即使您禁用了列的排序,dataTables排序order仍然存在。默认情况下,CallableStatementorder;只需设置[0, 'asc']即可定位#2列:

order

演示 - &gt;的 http://jsfiddle.net/6k26o7mk/

如果您根本不想要任何默认订单,请使用var table = $('#example').DataTable({ //.... order: [[ 1, "asc" ]] //column indexes is zero based }) (图标将被隐藏,直到用户对表格进行排序)。

答案 1 :(得分:0)

我无法使用DataTables下载构建器>对数据表版本:1.10.11 进行操作

在这种情况下,我使用jQuery作为解决方法来删除排序类,而排序类又将删除图标。

$(document).ready(function () {
    $('#my-dataTables').DataTable({
        paging: false,
        ordering: false,
        info:     false,
    });

    // Removes icon 
    $('.sorting_asc').removeClass('sorting_asc');
    });

答案 2 :(得分:0)

在版本 1.10.20 中,它对我有效,就像这样:

$(document).ready(function(){
  $('#example').DataTable({
    ordering: false, //disable ordering
    initComplete: function( settings, json ) {
      $("th").removeClass('sorting_desc'); //remove sorting_desc class
    }
  });
});
<link href="//cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>

<table id="example" class="display">
  <thead>
    <tr>
      <th>Column 1</th>
      <th>Column 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Row 1 Data 1</td>
      <td>Row 1 Data 2</td>
    </tr>
    <tr>
      <td>Row 2 Data 1</td>
      <td>Row 2 Data 2</td>
    </tr>
  </tbody>
</table>