Pak*_*eet 25 html sorting jquery datatables custom-data-attribute
我必须使用Jquery Datatables进行一些自定义排序.我不想为每个自定义排序编写自定义排序函数.
我想定义一个要排序的值,并且如果定义了值,则Datatables会忽略原始列值.
例如:
<td data-sort="111123">E 1.111,23</td>
我希望Jquery Datatables以数字方式对此列进行排序111123.
<td data-sort="19801220">20-12-1980</td>
我希望Jquery Datatables以数字方式对此列进行排序19801220.
<td>a string</td>
我希望Jquery Datatables按原始值对此列进行排序a string.
http://www.datatables.net/plug-ins/sorting有"隐藏标题数字排序",它接近我想要的,但要求我指定这个自定义排序适用于哪一列的每个数据表.我有太多不同大小的数据表,可以在合理的时间内完成.我只想让Datatables总是对这个隐藏的值/ data-*属性进行排序(如果它存在).无需在特定列上进行自定义排序定义.
相关:jQuery DataTables:如何按自定义参数值而不是单元格的内容进行排序?但遗憾的是,没有回答如何简单地通过自定义参数进行排序,而是指向自定义排序脚本.
小智 24
例如,您可以使用数据顺序attr
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Date</th>
<th>Count</th>
</tr>
</thead>
<tbody>
<?php
$count = 0;
foreach($users as $user) {?>
<tr>
<td data-order="<?php echo $count ?>">
<?php echo $user['createdDate']; ?>
</td>
<td>
<?php echo $user['count']; ?>
</td>
</tr>
<?php
$count++;
}?>
<tr>
<td data-order="999999999999999999999999999"> <!--always last-->
Total
</td>
<td>
<?php echo count($users); ?>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
更多信息HTML5 data-*属性
Pak*_*eet 13
我找到了一个适合我的简单解决方案,并且不需要太多代码或更改datatables.js.
它与问题的要求非常相似,但并不完全相同.
而不是data-sort你可以使用HTML注释标签.
<td data-sort="111123">E 1.111,23</td>
变
<td><!-- 000000111123 -->E 1.111,23</td>
通过零填充,int它们将被分类为a string.零填充使排序的行为与您期望的一样:将整数从高到低排序.
解决方案适用于日期,整数和字符串.对于日期和整数,您可以使用脚本语言以您希望的方式输出它们(例如:零填充,格式化为yyyy-mm-dd).
| 归档时间: |
|
| 查看次数: |
25199 次 |
| 最近记录: |