微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery datatables列未正确排序

我想我知道这个问题,但我不知道如何正确处理它所以我希望这里有人有类似的问题,并设法解决它的方式.我所拥有的是一个包含几列的表,除了一个列之外,所有这些列都可以进行排序.下面是该列的屏幕截图及其在工作中的排序.

正如您所看到的,它不会根据字母数字逻辑进行排序.我的假设是某些名称中包含逗号括号,括号等字符.那么说,我将如何处理这个问题,以便我可以使用datatables插件对这个alpha-numericly进行排序?思想的?

****编辑****

这是我正在使用的代码,适用于除了这一列之外的所有内容..

jQuery.fn.dataTableExt.oSort['num-asc']  = function(a,b) {
    var x = a.replace( /<.*?>/g,"" );
    var y = b.replace( /<.*?>/g,"" );
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y) ? -1 : ((x > y) ?  1 : 0));
};

jQuery.fn.dataTableExt.oSort['num-desc'] = function(a,"" );
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y) ?  1 : ((x > y) ? -1 : 0));
};

$(document).ready(function() {
    $('#ledger').dataTable({
        bAutoWidth: false,bJQueryUI : true,bProcessing: true,bServerSide: false,sPaginationType: "full_numbers",bStateSave : false,bUseRendered: false,idisplayLength: ${entriesValue},sDom: mw.superadmin.datatable.relatedListDom,aLengthMenu: mw.superadmin.datatable.relatedListLengthMenu,aaSorting: [[0,'asc']],aoColumns: [
            null,{ "iDataSort": 2},{ "bVisible": false,"sType": "num"},{ "iDataSort": 4,"bSortable": true },"sType": "num"}
        ]
    });

解决方法

既然你正在显示一个链接,我猜你正在使用自定义渲染功能

如果是这种情况,请在列定义中设置以下内容

"bUseRendered": false

这将使表格对数据进行排序,而不是对渲染的输出进行排序.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐