我正在使用jQuery DataTables插件来显示数据库中的记录。在我的数据库中,我命名了该表,size
并且该表包含存储文件大小的varchar数据类型,因此以下是我所拥有的示例
当显示在我的表格中时,我有这个按钮,应该将文件大小按升序或降序排序,但不能正确地对记录进行排序,例如说这一个
我的代码现在可以对文件大小进行排序,如下所示
$("#sortfilesize").click(function() {
if(checkb ==0){
oTable.order( [ 5, 'asc' ] );
checkb = 1;
}else{
oTable.order( [ 5, 'desc' ] );
checkb = 0;
}
oTable.draw();
});
更新
我已经下载了file-size.js,然后在初始化我的明细表时看起来像这样
<script type="text/javascript">
$(document).ready(function(){
$('#detailTable').DataTable({
bPaginate: false,
"columnDefs": [{ "type": "file-size", "targets": 5 }],
"aoColumnDefs": [{ "bVisible": false, "aTargets": [1,6,7,8,9,10,11] }],
"aaSorting": [[ 1, "asc" ]],
});
});
</script>
有关如何正确执行此操作的任何想法?
有一个用于该文件的DataTables排序插件-File size。从手册中:
处理计算机文件大小时,通常在字符串后附加B,KB,MB或GB之类的后缀,以方便地表示文件大小的数量级。该插件允许排序以将这些指示尺寸考虑在内。
除了jQuery和DataTables库之外,您还需要包括最新的插件脚本(有关最新链接,请参见插件页面)。
示例初始化代码如下所示:
$('#example').DataTable({
"columnDefs": [
{ "type": "file-size", "targets": 1 }
]
});
属性targets
指示包含文件大小的从零开始的列索引。
请参见下面的示例进行演示。
$(document).ready(function() {
$('#example').DataTable({
"columnDefs": [
{ "type": "file-size", "targets": 1 }
]
});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<link href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/plug-ins/1.10.7/sorting/file-size.js"></script>
</head>
<body>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Size</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Size</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Small.mp3</td>
<td>9 KB</td>
</tr>
<tr>
<td>Normal.mp3</td>
<td>8 MB</td>
</tr>
<tr>
<td>Large.mp3</td>
<td>7 GB</td>
</tr>
<tr>
<td>Smallest.mp3</td>
<td>10 B</td>
</tr>
</tbody>
</table>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句