Jquery plugins 如何从数据表中删除排序选项?

Jquery plugins 如何从数据表中删除排序选项?,jquery-plugins,datatables,Jquery Plugins,Datatables,我正在使用。我不想使用排序选项(按ASC或DESC顺序对列进行排序),默认情况下,该选项出现在每个上。如何删除该排序图标?例如,您可以将style=“display:none;”设置为箭头元素。您可以使用JavaScript或CSS类以编程方式设置它。首先,您必须使用诸如FireBug之类的开发人员控制台来检查HTML代码(箭头元素)。您可以通过b排序在aocolumn中将其设置为false,例如: $('#example').dataTable({ "aoColumns": [

我正在使用。我不想使用排序选项(按ASC或DESC顺序对列进行排序),默认情况下,该选项出现在每个
上。如何删除该排序图标?

例如,您可以将
style=“display:none;”
设置为箭头元素。您可以使用JavaScript或CSS类以编程方式设置它。首先,您必须使用诸如FireBug之类的开发人员控制台来检查HTML代码(箭头元素)。

您可以通过
b排序
aocolumn
中将其设置为
false
,例如:

$('#example').dataTable({
 "aoColumns": [
                                 { "sType": "html","bSortable": false, "bSearchable": false },
                                 { "sType": "html" },
                                 { "sType": "html", "bSortable": false, "bSearchable": false },
                                 { "sType": "html" },
                                 { "sType": "html","bSortable": false, "bSearchable": false },
                                 { "sType": "html" },
                                 { "sType": "html" },
                                 { "sType": "html" },
                                 { "sType": "date-euro" }
                                 ]

                            });

您还可以通过设置
b可搜索
false
从搜索中排除。如果要禁用默认排序,但保持列可排序,只需使用以下配置:

$(document).ready( function() {
    $('#example').dataTable({
        "aaSorting": []
    });
})

与@ravisolanki07非常相似,这只是实现这一点的不同方式

var oTable = $('#example').dataTable( {
    "aoColumnDefs": [
        { "bSortable": false, "aTargets": [ 0, 1, 2, 3 ] }, 
        { "bSearchable": false, "aTargets": [ 0, 1, 2, 3 ] }
    ]
}); 

使用
aoColumns
属性,可以轻松控制对特定列的排序。下面给出了一个示例:

$(document).ready(function() {
oTable = jQuery('#DataTables_Table_0').dataTable( {           
            "bDestroy": true,
            "bAutoWidth": true,  
            "bFilter": true,
            "bSort": true, 
            "aaSorting": [[0]],         
            "aoColumns": [
                { "bSortable": false },
                { "bSortable": true },
                { "bSortable": true },
                { "bSortable": true },
                { "bSortable": true },
                { "bSortable": true },
                { "bSortable": false }
            ]   
        } );
 })

在jQuery DataTables的新版本1.10中,必须使用选项禁用对整个表的排序:

$('#示例')。数据表({
“排序”:错误
});

有两种方法可以尝试

首先,尝试将“bSort”设置为false。 请注意,这将禁用周围的排序

$('#jTable')。数据表({“bSort”:false})

第二,尝试将aaSorting设置为空。 请注意,这将删除特定列的排序。
$('#jTable').dataTable({“aaSorting”:[[]]})

让我们知道其中一个是否适合您。 希望有帮助


Kashif Solangi

好的,这里的答案有点陈旧。所以我想我可以提供一个新的答案:

截至2018年,每个领域实现这一目标的途径是:

$('#id-of-my-table').DataTable({
    "columnDefs": [
        { "orderable": false, "targets": [0, 4, 5, 6] },
        { "orderable": true, "targets": [1, 2, 3] }
    ]
});

如您所见,目标接受列索引数组。

您还可以使用数据属性在表本身上传递选项

<table
   data-paging="false"
   data-searching="false"
   data-ordering="false"
>

同样的原则也适用于列标题

<table>
<thead>
<tr>
    <th>I'm sortable</th>
    <th data-orderable="false">I'm not sortable</th>
</tr>
</thead>

我很难受
我不可恶
但是,我遇到了一种情况,我想删除所有列排序,并意识到Datatable在所有列上使用
th data orderable=“false”
时仍会在第一列上添加图标,在这种情况下,请改用表上的
数据排序


如果您使用相同的自定义脚本生成所有数据表,这将非常方便。

是的。我回答的时候可能不是然后设置背景图像属性就可以了…Thx用于指定索引您甚至可以忽略可排序的真实部分,只需说明要禁用排序的部分。这对我很有用。只需要将orderable设置为false。谢谢。我在文档中看不到必须全局使用排序,并且如果将其单独设置为所有列,排序不会消失。然而,答案似乎是正确的。如果我将每列设置为
“ordering”:false
,则排序符号将保留在第一列上,即使它不起作用。至少对我来说(DataTables版本1.10.20)。我确认这在
angular 2+
中也有效
dtOptions:DataTables.Settings{ordering:false,}
这就是我搜索的内容。tnx