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是一个字符串,而不是一个数字:(我假设您正在服务器端生成链接。您最好在客户端呈现这些链接,原因有两个:
"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表将不包含链接。这也可能会导致机器人爬行页面的问题。。。