javascript - 如何对 jQuery DataTables 中的数字列进行排序

标签 javascript jquery html datatables

(看了一堆关于这个话题的答案,没有一个适用于这个问题。)

数据表具有让用户单击每列的向上/向下三 Angular 形图标以按升序或降序排序的功能。我已经加载数据如下

        oTable.fnAddData( ["Bogus data","1,541,512","12.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","3,541,512","2.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","541,512","1.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","2,541,512","32.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","741,512","3.5%","0","0","0"]);
        oTable.fnAddData( ["A Bogus data","41,512","1.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","2,541,512","12.5%","0","0","0"]);
        oTable.fnAddData( ["Z Bogus data","1,541,512","12.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","3,541,512","2.5%","0","0","0"]);
        oTable.fnAddData( ["La Bogus data","541,512","1.5%","0","0","0"]);
        oTable.fnAddData( ["The Bogus data","2,541,512","32.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","741,512","3.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","41,512","1.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","2,541,512","12.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","1,541,512","12.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","3,541,512","2.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","541,512","1.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","2,541,512","32.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","741,512","3.5%","0","0","0"]);
        oTable.fnAddData( ["Bogus data","41,512","1.5%","0","0","0"]);

在第 2 列中,当我单击向上/向下三 Angular 形时,数值按字母顺序处理。我如何调整它以便第二列向上/向下箭头将以正确的方式触发,将字符视为数字。我尝试使用以下初始化:

oTable = $('.utable').dataTable( {
"aoColumns": [{ sWidth: '60%' },{sWidth: '30%', "sType": "numeric"},{ sWidth: '10%' }],
"sDom": 'rt',
"sScrollY":"200px",
"bPaginate":false,
"bFilter":false,
"bInfo": false});  

所有这一切都是为了锁定该列,向上/向下图标在该列的标题中将不起作用。

最佳答案

您的问题是数字没有被识别,即使它们被识别,您数字中的逗号也可能会关闭排序功能(因为它可能无法正确删除它们)。

您有一个选择是实现您自己的排序函数,它可以正确处理您的数字。这是一个可以满足您需要的示例:

http://live.datatables.net/oborug/2/edit

PS -- 这是相关文档:http://datatables.net/development/sorting

关于javascript - 如何对 jQuery DataTables 中的数字列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258407/

相关文章:

javascript - 在样式表中声明后删除元素的悬停属性

javascript - setInterval JavaScript 不工作

Javascript循环创建多个相互附加的div

javascript - 将所有元素包装在一个元素中,直到出现特定标记

javascript - 使 CSS 菜单项加载网站而不是使用 javascript 更改占位符

javascript - 将 iFrame 源代码与 textarea 元素同步

javascript - document.getElementById 用于链接 ID

javascript - 从 JavaScript (MVC) 调用 Sitecore Controller 方法

javascript - 客户端断开连接后服务器清理

javascript - 如何使用 jquery 或 javascript 从字符串中查找完全不同的数字