jquery数据表数字排序问题

时间:2012-12-11 04:40:09

标签: jquery html datatable

我已经为我的表集成了数据表脚本。我有排名列。数据就像

enter image description here

我需要数字排序。为此我使用了以下代码

{ "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       

2 个答案:

答案 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';
               }
  }