【发布时间】:2017-04-30 20:05:19
【问题描述】:
如何通过传递给数据的值而不是自定义呈现的内容对列进行排序?
我做了什么
我使用 jquery 数据表来显示数据。从服务器到客户端,我只传递数字数据。在客户端,我使用自定义渲染函数创建表格内容:
{
"targets": [9],
"visible": true,
"searchable": true,
"render": function(data, type, row) {
if (row[9] == -2) {
return '';
}
if (row[9] == -1) {
return '<img width="20px" src="/~home/www/images/loader.gif" />';
}
var result = row[9];
if (row[10] > 0) {
result += '<strong><span class="text-success">';
result += '(+' + row[10] + ')';
result += '</span></strong>';
}
if (row[10] < 0) {
result += '<strong><span class="text-danger">';
result += '(' + row[10] + ')';
result += '</span></strong>';
}
return result;
},
},
{
"targets": [10, 11],
"visible": false,
"searchable": false,
},
即使到第 9,10 和 11 列也只包含数值。第 9 列根据提供的 JS 函数生成的字符串值排序为字符串。
如何指示数据表按原始 'row[9]' 排序,但将自定义呈现的内容保留在单元格中?
【问题讨论】:
标签: javascript jquery datatables