Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Datatables:需要在HTML中按数据对列进行数字排序_Javascript_Jquery_Sorting_Twitter Bootstrap_Datatables - Fatal编程技术网

Javascript Datatables:需要在HTML中按数据对列进行数字排序

Javascript Datatables:需要在HTML中按数据对列进行数字排序,javascript,jquery,sorting,twitter-bootstrap,datatables,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><

我有一张像这样的桌子

<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>
1   Foo
10  Baz
9   Bar
1   Foo
9   Bar
10  Baz
但我需要这样分类

<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>
1   Foo
10  Baz
9   Bar
1   Foo
9   Bar
10  Baz

我真的不知道该怎么办。我对它进行了排序,但它认为内部HTML是一个字符串,而不是一个数字:(

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

  • 你的那一类就行了
  • 你的有效载荷会更小
  • 要做到这一点,您需要使用类似于下面的AOColumnSDF和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;
            }
        },
    
    “aoColumnDefs”:[
    {
    “目标”:[1],
    “fnRender”:函数(o,val){
    var link=“”;
    返回链接;
    }
    },
    

    希望这能有所帮助。

    这可能是一篇重复的帖子:根据您链接的页面,“数据通常是数字和字母的复杂组合(文件名是一个常见的例子)以自然的方式对它们进行排序是一个相当困难的问题。幸运的是,其他作者已经在这方面做了大量的工作-下面的插件使用Jim Palmer(在此处下载)的naturalSort()函数在数据表中提供自然排序。”该页面似乎列出了处理这种情况的各种方法。我假设这是针对服务器端数据的?这很有用,谢谢,但它不排序。是否可以同时进行排序和渲染?我尝试了bSortable:true,但它没有任何作用。好的,我想出来了,您需要使用:buserended:false谢谢!这取决于end用户浏览器-DataTables的一个优点是它可以优雅地降级-如果在浏览器上关闭JS,它将只显示一个标准HTML表。在您的解决方案中,普通HTML表将不包含链接。这也可能会导致机器人爬行页面的问题。。。