我已经为我的表集成了数据表脚本。我有排名列。数据就像
我需要数字排序。为此我使用了以下代码
{ "sType": "numeric", "aTargets": [ 0 ] }
在html代码中我使用了以下
<span style="display:none;">3</span> #3 in
<span style="display:none;">45</span> #45 in
<span style="display:none;">25</span> #25 in
<span style="display:none;">25</span> #15 in etc...
所以在span标签中我以隐藏格式显示数字。
但是这个单元的排序不起作用。请帮我。感谢
于12月15日更新 =====================
{ "bVisible": false, "aTargets": [8] }, //set column visibility
{"sType": "numeric", "aTargets": [8] }, //define data type for specified columns
{"iDataSort": 8, "aTargets": [3] } //sort based on a hidden column when another column is clicked
{ "bVisible": false, "aTargets": [9] }, //set column visibility
{"sType": "numeric", "aTargets": [9] }, //define data type for specified columns
{"iDataSort": 9, "aTargets": [5] } //sort based on a hidden column when another column is clicked
答案 0 :(得分:6)
这是解决问题的另一种方法。 将数值放在隐藏列中而不是隐藏的跨度中。在数据表绑定中,单击可见列标题时指向隐藏列:
myTable.dataTable({
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [hiddenColumnIndex] }, //set column visibility
{"sType": "numeric", "aTargets": [hiddenColumnIndex] }, //define data type for specified columns
{"iDataSort": hiddenColumnIndex, "aTargets": [visibleColumnIndex] } //sort based on a hidden column when another column is clicked
]
});
答案 1 :(得分:3)
看起来您正在使用datatables.net jquery插件。如果基础数据是数字,则使用mRender option覆盖表格单元格中呈现的html(即格式化数字以显示#[实际数字])。启用排序后,它应对基础数据进行排序(请参阅mData选项)。注意:这是针对当前版本的插件...如果您有旧版本,请参阅fnRender选项。
例如:
"aoColumns": [
{ "mData": "StringColumn1" },
{ "mData": "StringColumn2" },
{
"mData": "Your Numeric Column",
"mRender": function ( data, type, full ) {
return '#' + data + ' in';
}
}