有没有比较了解 DataTable 的,数字按照字符串的类型进行排序很诡异啊

2016-01-22 13:53:04 +08:00
 lancegin

官网的 api 也是看的太糟心了,不知道有没有遇到过类似问题的同学?怎么解决的?

2522 次点击
所在节点    JavaScript
5 条回复
qihboy
2016-01-22 13:56:13 +08:00
数字的大小的比较或排序,是右“对齐”的方式。而字符串是左对齐,把数字变成字符串排序,得变成一样的长度 ,然后左边位不够的补 0
lancegin
2016-01-22 14:09:19 +08:00
@qihboy 默认的只有字符串排序吗?数字排序都必须要转换成字符串排序?
qihboy
2016-01-22 16:25:56 +08:00
http://datatables.net/plug-ins/sorting/
可以指定排序类型,看第一个“ How to use ”下面的部分
magicdawn
2016-01-27 16:38:34 +08:00
可以先转成 Number, or 通过 render 动态去转 https://datatables.net/reference/option/columns.render

col.render = function(cell, type, row){
if(type === 'sort'){
return Number(cell);
}
return cell;
}
lancegin
2016-01-27 17:59:08 +08:00
@magicdawn 谢谢,已经找到问题所在了,,,,, json 数据丢失了,导致本应该 float 的地方出现了 NaN 和 undefined ,就变成字符串的排序了。。醉了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX