Skip to main content
 首页 » 编程设计

jquery之数据表排序: make one column stay fixed

2026年07月28日4shangdawei

我正在使用 jQuery DataTables 插件。排序工作正常,但有没有办法让一列始终保持不变,无论应用什么排序?

例如,第一列只是简单的订单号:1, 2, 3, 4, 5... 当我按日期或其他任何内容排序时,第一列保持相同的顺序:1、2、3..?

有办法做到这一点吗?因此,我并不是试图禁用按第一列排序,而是在其他列应用排序时使第一列保持不变。

请您参考如下方法:

在寻找同一问题的解决方案时遇到了这个问题。 这是 docs 中包含的解决方案.

$(document).ready(function() { 
var t = $('#example').DataTable( { 
    "columnDefs": [ { 
        "searchable": false, 
        "orderable": false, 
        "targets": 0 
    } ], 
    "order": [[ 1, 'asc' ]] 
} ); 
 
t.on( 'order.dt search.dt', function () { 
    t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) { 
        cell.innerHTML = i+1; 
    } ); 
} ).draw(); 

} );

基本上,只要触发 order 或 search 事件,索引列就会重新编号。 searchable 和 orderable 设置为 false,因为它们对索引列没有影响(无论如何它仍会重新编号)。