数据表:需要按HTML中的数据对数据列进行排序

时间:2012-12-10 21:23:40

标签: javascript jquery sorting twitter-bootstrap datatables

我有一张看起来像这样的桌子......

<table id="myTable">
    <tr>
        <td><a href="site.com?id=1">1</a></td>
        <td>Foo</td>
    </tr>
    <tr>
        <td><a href="site.com?id=9">9</a></td>
        <td>Bar</td>
    </tr>
    <tr>
        <td><a href="site.com?id=10">10</a></td>
        <td>Baz</td>
    </tr>
</table>

我需要这样做,以便我的Bootstrap Datatables脚本将按锚标记的内部HTML排序,并按数字排序。目前正在对它进行排序......

1   Foo
10  Baz
9   Bar

但我需要像这样排序......

1   Foo
9   Bar
10  Baz

我不确定如何解决这个问题。我有它排序,但它认为内部HTML是一个字符串,而不是一个数字:(

1 个答案:

答案 0 :(得分:2)

我假设您正在生成链接服务器端。最好在客户端上呈现这些内容有两个原因:

  1. 您的排序会有效
  2. 您的有效负载会更小
  3. 要做到这一点,你需要使用aoColumnsDef和aTargets类似于下面的

        "aoColumnDefs": [
        {
            "aTargets": [ 1 ],
            "fnRender": function ( o, val ) {
              var link = "<a class='' href='site.com?id=" + o.aData[0] + "'>" + o.aData[0] + "</a>";
              return link;
            }
        },
    

    希望这有帮助。