如何使用数据表对包含数字和图像的列进行排序

Pra*_*vin 8 html sorting jquery

如何对包含图像和编号的第二列进行排序.

<table id='tb' class="table table-bordered table-striped table-hover">
    <tr>
        <td>status</td>
        <td><img src='edit.png'>1</td>
    </tr>
    <tr>
        <td>status</td>
        <td><img src='edit.png'>2</td>
    </tr>
    <tr>
        <td>status</td>
        <td><img src='edit.png'>3</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我试过这样,因为那个图像它排序为1,10,11,12 ..如果我删除那个图像标签它正确排序.所以请给出一些解决方案.

$("#tb").dataTable({
    "order": [
        [1, "asc"]
    ]
});
Run Code Online (Sandbox Code Playgroud)

Mos*_*Feu 0

根据@Guruprasad Rao 评论和插件文档(http://datatables.net/plug-ins/sorting#hidden_ ​​title_string),您必须创建自己的过滤器。像这样的东西:

过滤代码:

/* Create an array with the values of all the input boxes in a column */
$.fn.dataTable.ext.order['dom-inner-text'] = function  ( settings, col )
{
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
        return td.text();
    } );
}
Run Code Online (Sandbox Code Playgroud)

然后在数据表初始化函数中:

$('#example').DataTable( {
    "columns": [
        null,
        { "orderDataType": "dom-inner-text" },
        ....
    ]
} );
Run Code Online (Sandbox Code Playgroud)