【问题标题】:jQuery DataTables Ordering By 2 columnsjQuery DataTables 按 2 列排序
【发布时间】:2017-07-22 17:31:23
【问题描述】:

我正在使用jQuery DataTables 为我的一张表设置样式并赋予其功能:

我的目标

按资金类型是否活跃进行排序。如您所见,这就是它目前正在做的事情。现在,我想按字母顺序排列Funding 列。所以我想要的结果应该是:

Funding One
Funding Two
Funding Three
Funding Four
Alpha
Beta
Charlie
Test
test2

这是我目前的数据表脚本:

var codeFundingTable = $("#Code-Funding-Table").DataTable({
    "bPaginate": false,
    "bFilter": false,
    "aoColumnDefs": [
        { "bSortable": false, "aTargets": [2] },
        { "bSearchable": false, "aTargets": [2] }
    ],
    "columns": [
        { "orderData": [1] },
        { "orderData": [0] }
    ]
});

所以我首先按第 1 列(Active,基于 0)排序,然后按第 0 列(Funding)排序,但它没有按字母顺序排序。

我怎样才能做到这一点?

【问题讨论】:

  • 如果切换orderData 1和0会发生什么?它是否仅通过资金订购?
  • @Bango 正确,它按字母顺序排列,不考虑是否处于活动状态
  • 你能用示例数据创建一个小提琴吗..?这是一个起点 -> jsfiddle.net/0f9Ljfjr/948

标签: javascript jquery datatables


【解决方案1】:

这是一个猜测,因为我们没有样本数据。例如,“活动”的值是什么(除了呈现复选框)?但我相信你可以做到

var table = $('#example').DataTable({
  order: [[1, 'asc'], [0, 'asc']]
})  
  • 活动列首先排序,如果值为 0 和 1 则应使用 asc
  • 第一列按照第二列顺序进行第二次排序

这是一个演示 -> http://jsfiddle.net/0f9Ljfjr/949/ 先排序@​​987654323@,然后在每个position“类型”中排序name

【讨论】:

    【解决方案2】:

    试穿一下尺寸

    "columns": [
        { "orderData": [1,0] },
    

    https://datatables.net/examples/basic_init/multi_col_sort.html

    【讨论】:

    • 对不起,这没有帮助。与{ "orderData": [0] }, { "orderData": [1] } 相同
    • 如果你尝试过,它“会”是一样的;或者你确实尝试过,它是一样的?另请注意,您的活动列包含的 HTML 经常会干扰搜索和排序等功能。
    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2012-04-30
    • 2015-02-16
    • 2014-10-08
    • 2012-12-29
    相关资源
    最近更新 更多