繁体   English   中英

jQuery 混合数据列的数据表排序

[英]jQuery Datatable sorting for Column with Mixed Data

我正在使用 jQuery 数据表实现排序。 在第二列中,我们有混合数据类型(文本/字符串、带有货币符号的金额)。 尽管数字排序,但第二列未正确排序,但带有文本/字符串的单元格不会更改 position。 当第二列的排序处于活动状态时,我想将文本移到最后。 简单来说,在排序时,带有数字的单元格的层次/优先级应该更高。

可以通过单击“运行代码段”在下面检查表格和排序

谢谢!

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css"> <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script> <script>jQuery(document).ready( function () {jQuery("#postsummary").DataTable({paging: false, "searching": false, columnDefs: [ { type: "num-fmt", targets: 1 } ], });} );</script> <table id="postsummary" class="dataTable no-footer" aria-describedby="postsummary_info" > <thead> <tr> <th class="sorting" tabindex="0" aria-controls="postsummary" rowspan="1" colspan="1" aria-label="Name of Program: activate to sort column ascending" style="width: 573.075px" > Name of Program </th> <th class="sorting sorting_asc" tabindex="0" aria-controls="postsummary" rowspan="1" colspan="1" aria-label="Amount: activate to sort column descending" style="width: 95.9125px" aria-sort="ascending" > Amount </th> <th class="sorting" tabindex="0" aria-controls="postsummary" rowspan="1" colspan="1" aria-label="Type: activate to sort column ascending" style="width: 100.863px" > Type </th> </tr> </thead> <tbody> <tr class="odd"> <td class=""> Testing 1 </td> <td class="sorting_1">varying</td> <td class="">Compensation</td> </tr> <tr class="even"> <td class=""> Testing 2 </td> <td class="sorting_1">$50,000</td> <td class="">Grant</td> </tr> <tr class="odd"> <td class=""> Testing 3 </td> <td class="sorting_1">$500,000</td> <td class="">Grant</td> </tr> <tr class="even"> <td class=""> Testing 4 </td> <td class="sorting_1">varying</td> <td class="">Grant</td> </tr> <tr class="odd"> <td class=""> Testing 5 </td> <td class="sorting_1">varying</td> <td class="">Grant</td> </tr> <tr class="even"> <td class=""> Testing 6 </td> <td class="sorting_1">$3,500</td> <td class="">Grant</td> </tr> </tbody> </table>

您不能强制非数字数据为数字:-)。

如果你想排序,你可能想给自己写一个自定义排序算法:

https://www.datatables.net/plug-ins/sorting/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM