jquery datatable 排序问题

发布于 2021-11-22 16:50:48 字数 200 浏览 867 评论 8


见图,排序出现问题.
请高手指教,如何满足字符加数字的排序功能(使用的是jquery datatable插件).万分感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

半世蒼涼 2021-11-24 09:42:11

jQuery.fn.dataTableExt.oSort['numeric-comma-asc']  = function(a,b) {

        a = a.replace(/[ ]/g,"")

        b = b.replace(/[ ]/g,"")

        if(a.indexOf(",") != -1){a = a.replace(/,/g, "")}

        if(b.indexOf(",") != -1){b = b.replace(/,/g, "")}

        if(a.indexOf("'") != -1){a = a.replace(/'/g, "")}

        if(b.indexOf("'") != -1){b = b.replace(/'/g, "")}

        if(a.indexOf(" ") != -1){a = a.replace(/ /g, "")}

        if(b.indexOf(" ") != -1){b = b.replace(/ /g, "")}

        var a1 = a.slice(0,3)

        var a2 = a.slice(3)

        var b1 = b.slice(0,3)

        var b2 = b.slice(3)

        return ((a1 < b1) ? -1 : ((a1 > b1) ?  1 : (parseFloat(a2) < parseFloat(b2)) ? -1 : (parseFloat(a2) > parseFloat(b2)) ? 1 : 0))

    };

jQuery.fn.dataTableExt.oSort['numeric-comma-desc']  = function(a,b) {
        a = a.replace(/[ ]/g,"")
        b = b.replace(/[ ]/g,"")

        if(a.indexOf(",") != -1){a = a.replace(/,/g, "")}
        if(b.indexOf(",") != -1){b = b.replace(/,/g, "")}
        if(a.indexOf("'") != -1){a = a.replace(/'/g, "")}
        if(b.indexOf("'") != -1){b = b.replace(/'/g, "")}
        if(a.indexOf(" ") != -1){a = a.replace(/ /g, "")}
        if(b.indexOf(" ") != -1){b = b.replace(/ /g, "")}

        var a1 = a.slice(0,3)
        var a2 = a.slice(3)
        var b1 = b.slice(0,3)
        var b2 = b.slice(3)
        return ((a1 < b1) ? 1 : ((a1 > b1) ?  -1 : (parseFloat(a2) < parseFloat(b2)) ? 1 : (parseFloat(a2) > parseFloat(b2)) ? -1 : 0))
};
// 以上是我自定义的排序方法

//这里开始初始化
$('#example').dataTable({

    'aoColumns': [
    {'sTitle':'Counter part'},
    {'sTitle':'Type'},
    {'sTitle':'Amount',  'sType': 'numeric-comma'},  //这里指定那一列使用自定义排序方法
    {'sTitle':'Converted amount', 'sType': 'numeric-comma'},
    {'sTitle':'All in amount', 'sType': 'numeric-comma'},
    {'sTitle':'All-in rate'},
    {'sTitle':"Bank's all-in rate"},
    {'sTitle':'Trade date'},
    {'sTitle':'Value date'},
    {'sTitle':'Reference'},
    {'sTitle':'Status'}
];

});

孤檠 2021-11-24 09:42:10

贴上已经代码

嘦怹 2021-11-24 09:41:37

问题已经解决了,如果有谁遇到同样的问题,可以@我,无条件贴代码

等风来 2021-11-24 08:42:58

不是,可以只看CHF类型的,不用管EUR类型的.

像你 2021-11-24 08:14:35

你是说转换为统一币别后排序吧?增加一列转换到同币别的列不就好了。

伴我心暖 2021-11-24 04:50:07

谢谢你的回答,但就算是在后台排好序了,如果点击Amount还是会打乱你后台排好的顺序,再就是这一列的数据在后台经过比较复杂的处理,不适合在后台排序.

三月梨花 2021-11-23 03:38:07

数据肯定是来自后台的嘛  你可以在后台做排序哦

ORDER BY 币种 ASC,金额 ASC

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文