0

我在“firstValue secondValue”之类的列中有数据。此数据必须在一列中(我不能制作两列)。当我设置排序时,它按 firstValue 和 secondValue 排序。现在,在某些事件之后,我想更改为按 secondValue 对数据进行排序(忽略 firstValue)。在另一个事件之后,我想按 firstValue 排序。这可能吗?我怎样才能做到这一点?

4

1 回答 1

1

这可能为时已晚,但我刚刚遇到了同样的问题。该解决方案涉及自定义排序更改事件处理程序中的表设置的组合。

一些使其更具体的代码:

$.extend($.fn.dataTableExt.oSort, {
    "secondValue-pre": function ( a ) {
        var parts = a.split(' ')[1];        
    },
    "secondValue-asc": function ( a, b ) { return ((a < b) ? -1 : ((a > b) ? 1 : 0)); },
    "secondValue-desc": function ( a, b ) { return ((a < b) ? 1 : ((a > b) ? -1 : 0)); }
});

var $myTable = $('#example').dataTable({
  "aoColumns": [
    null, //your column containing "firstValue secondValue"
    null,
  ]
});

$(document).ready(function() {
    $('.something').click( function () {
        var oSettings = $myTable.fnSettings();
        oSettings.aoColumns[0].sType = 'secondValue';
    });
});

我确信有很多方法可以改进此代码,但它应该可以帮助您入门。

于 2013-04-17T19:19:04.210 回答