在数据表列中添加两个排序图标?

时间:2016-06-14 18:31:09

标签: javascript jquery html css datatables

因此,假设我的一个数据表列类似于“车辆制造/模型”,并且值的格式为“丰田
凯美瑞”。

从表面上看,如果这两列是最好的,但我的屏幕空间有限,我宁愿人们垂直滚动而不是横向滚动。

现在我已经通过image[0]禁用了对“车辆制造/模型”列的排序,但我想做的是使它看起来更像是这样:

车辆制造↕/型号↕

例如。一列中有两个可排序的小部件。

图像本身是'columnDefs': [{orderable: false, target: x}](或sort_asc.png或sort_desc.png),但仅仅是因为图像不能使它可以排序..

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您必须将其拆分为两个数组才能单独对其进行排序,并且由于您正在使用数据表,您可以事先做好,然后自己做两列。

修复源数据

如果您无法控制源数据的格式,那么您可能会运气不好。 考虑一下,在下列情况下,您将在哪里拆分结果:

Make          Model         Your Make/Model Column

Hyundai       Santa Fe      Hyundai Santa Fe
Alfa Romeo    Giulietta     Alfa Romeo Giulietta

设置列的样式

然后,您可以拥有3列:Make, Model, Make/Model。 只需在Make和Model上设置display:none,但可以使用它们进行排序。

对隐藏列进行排序

var modelSortAsc = true;

$('#modelColumnLink').click(function(){
    var sort = (modelSortAsc)? "asc" : "desc";
    modelSortAsc = !modelSortAsc;
    DataTable( {
        "order": [[ 4, sort ]]
    } );
});