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

标签 javascript jquery sorting twitter-bootstrap datatables

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

<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脚本将按 anchor 标记的内部 HTML 进行排序,并按数字排序。目前它正在这样排序......

1   Foo
10  Baz
9   Bar

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

1   Foo
9   Bar
10  Baz

我不太确定该怎么做。我对其进行了排序,但它认为内部 HTML 是一个字符串,而不是数字:(

最佳答案

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

  1. 您的排序将会起作用
  2. 您的有效负载将会更小

为此,您需要使用类似于下面的 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;
        }
    },

希望这有帮助。

关于javascript - 数据表:需要按 HTML 中的数据对列进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809500/

相关文章:

jquery - qTip2 工具提示立即消失

javascript - 单击时显示 div,如果悬停在另一个上则隐藏

javascript - 如何使用 Puppeteer 执行右键单击?

javascript - 防止Ajax网站按下后退按钮后跳回顶部

jquery - 如何调试 jquery 插件?

c# - 合并两个有序的 IObservables

c++ - 如何对包含 const 值的 vector 进行排序

c++ - 在比较函数中使用非静态类成员

javascript - 为什么我会收到 SyntaxError : Unexpected identifier in forEach with await?

javascript - 如何异步并行多个 app.use 调用?