gpt4 book ai didi

javascript - jQuery DataTables - 按隐藏列排序日期

转载 作者:行者123 更新时间:2023-12-01 02:10:19 25 4
gpt4 key购买 nike

我已经使用 DataTables 工作了几天,我有这个任务:我需要禁用初始排序并过滤包含 8 月 15 日 等日期的第一列,具体取决于第四个日期 (2015.08.15),该列将被隐藏。

例如,如果我有:

Aug 15    |  2015.08.15
Aug 7 | 2015.08.07
Aug 3 | 2015.08.03
Aug 20 | 2015.08.20

按升序排列,我应该得到:

Aug 3     |  2015.08.03
Aug 7 | 2015.08.07
Aug 15 | 2015.08.15
Aug 20 | 2015.08.20

但我得到的是字母顺序排序:

Aug 15    |  2015.08.15
Aug 20 | 2015.08.20
Aug 3 | 2015.08.03
Aug 7 | 2015.08.07

我的第一个代码是这样的:

$("#TableBt" + rid).DataTable({
"aaSorting": [],
"columns": [
null,
null,
{
"title": lC2
},
{
"visible": false
}]

这禁用了我的初始排序,但它按字母顺序对我的日期列(第一个可见的)进行排序。

经过一番研究,我将代码更改如下:

$("#TableBt" + rid).dataTable({
"asSorting": [],
"aoColumnDef": [
{
"iDataSort": 3,
"aTargets": [4]
},
null,
{
"sTitle": lC2
},
{
"bVisible": false,
"aTargets": [3]
}]
});

但现在所有列都可见,初始排序再次启用,并且日期排序仅按字母顺序进行。

我做错了什么?

最佳答案

SOLUTION

您需要使用columnDefs以第一列 (targets: 0) 为目标,并使用 orderData 定义将使用哪些数据对第一列进行排序的列。此外,您还需要使用 visible: false 隐藏第四列 (targets: 3)。

$("#TableBt" + rid).DataTable({
columnDefs: [
{ targets: 0, orderData: 3 },
{ targets: 3, visible: false }
]
});

DEMO

参见this jsFiddle用于代码和演示。

关于javascript - jQuery DataTables - 按隐藏列排序日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com