jQuery DataTables排序不起作用

jQuery DataTables sorting is not working

本文关键字:不起作用 排序 DataTables jQuery      更新时间:2023-09-26

使用jQuery 2.1.3和DataTables 1.10.5,当我单击列上方的向上和向下箭头时,我的表不会排序。从文档中可以看出,这是最简单的示例,应该可以使用。我似乎不明白为什么不是。

我的HTML/JavaScript

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <title>Simple Example</title>
        <link rel="stylesheet" media="screen" href="/assets/css/bootstrap.min.css">
        <link rel="stylesheet" media="screen" href="/assets/css/bootstrap-theme.min.css">
        <link rel="stylesheet" media="screen" href="/assets/css/jquery.dataTables.css">
    </head>
    <body>
        <table id="table-guid" class="display compact" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Column-1</th>
                    <th>Column-2</th>
                    <th>Column-3</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <th>Column-1</th>
                    <th>Column-2</th>
                    <th>Column-3</th>
                </tr>
            </tfoot>
            <tbody>
                <tr id="A">
                    <td>A-1</td>
                    <td>A-2</td>
                    <td>A-3</td>
                </tr>
                <tr id="B">
                    <td>B-1</td>
                    <td>B-2</td>
                    <td>B-3</td>
                </tr>
                <tr id="C">
                    <td>C-1</td>
                    <td>C-2</td>
                    <td>C-3</td>
                </tr>
            </tbody>
        </table>
        <script src="/assets/js/jquery-2.1.3.min.js"></script>
        <script src="/assets/js/bootstrap.min.js"></script>
        <script src="/assets/js/jquery.dataTables.min.js"></script>
        <script>
        $(document).ready(function ()
        {
            var table = $('#table-guid').DataTable();
        });
        </script>
    </body>
</html>

您必须定义列数据的类型。这里的问题似乎来自连字符,它在没有的情况下工作

解决方案:JsFiddle

$('#table-guid').dataTable( {
    "columnDefs": [
        { "type": "numeric-comma", targets: "_all" }
    ]
});

这是文档