我正在使用http://datatables.net上的 DataTables插件.
它自己的插件是非常有用的,但我有一个很大的问题.
它以下列格式返回某些搜索的地址列表.
1 Main Street
12 Main Street
13 Main Street
14 Main Street
...
2 Main Street
3 Main Street
4 Main Street
5 Main Street
..
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,排序不是我所期望的.将从1 eg, 11, 111, 1111
之前开始返回所有数字2
.
你有没有对插件有所了解?
任何建议非常感谢.
为了解决这个特定问题,您可以使用数据表的自然排序插件。请访问http://datatables.net/plug-ins/sorting阅读所有相关内容(搜索“自然排序”)。
简而言之,如果您已经下载并嵌入了naturalSort
函数,则可以为数据表定义排序句柄,如下所示:
jQuery.fn.dataTableExt.oSort['natural-asc'] = function(a,b) {
return naturalSort(a,b);
};
jQuery.fn.dataTableExt.oSort['natural-desc'] = function(a,b) {
return naturalSort(a,b) * -1;
};
Run Code Online (Sandbox Code Playgroud)
您还需要为该列指定 sSortDataType 参数,以告诉它要使用哪个插件函数(在下面的示例中,我将表的第三列的排序设置为自然):
$('#example').dataTable( {
"aoColumns": [
null,
null,
{ "sType": "natural" }
]
});
Run Code Online (Sandbox Code Playgroud)
这是工作小提琴http://jsfiddle.net/zhx32/14/
注意:事实上,“aoColumns”上的元素数量必须等于表中的列数,否则会出现错误。空值表示数据表插件应该对该列使用默认排序方法。
归档时间: |
|
查看次数: |
6552 次 |
最近记录: |