gpt4 book ai didi

javascript - 如何在 jQuery DataTables 中对文件大小进行排序

转载 作者:行者123 更新时间:2023-11-28 18:29:06 26 4
gpt4 key购买 nike

我正在使用 jQuery DataTables 插件来显示数据库中的记录。在我的数据库中,我有一个名为 size 的表,它包含存储文件大小的 varchar 数据类型,因此这里是我所拥有的示例

enter image description here

当在我的表格中显示时,我有这个按钮,应该将文件大小按升序或降序排序,但它不能正确对记录进行排序,例如这个

enter image description here

我现在对文件大小进行排序的代码如下所示

$("#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 。来自手册:

When dealing with computer file sizes, it is common to append a post fix such as B, KB, MB or GB to a string in order to easily denote the order of magnitude of the file size. This plug-in allows sorting to take these indicates of size into account.

除了 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>

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com