添加时,JQuery DataTable插件不执行任何操作

时间:2016-03-18 03:25:17

标签: jquery playframework datatables

我正在尝试将Jquery的DataTables添加到我的表中,因为我希望能够对表进行排序和搜索。我不关心DataTable的样式,因为我已经拥有自己的一些引导样式。我似乎无法让插件做任何事情。

我正在使用Java Play Framework,并且Jquery已从其他地方合并到模板中。

模板:

@(personList: List[Person])

@main("People") {
<script type="text/javascript" src="public/javascripts/DataTables/datatables.min.js"></script>

<table class="table table-bordered table-striped" id="dashboard-table">
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>DoB</th>
        </tr>
    </thead>
    <tbody>
        @for(person <- personList) {

            <tr>
                <td>@person.name</td>
                <td>@person.age</td>
                <td>@person.dob</td>
            </tr>

        }
    </tbody>
</table>
}

使用Javascript:

$(document).ready(function() {
    $('#dashboard-table').DataTable();
    // other stuff
});

我只为DataTable功能包含了一个文件。 datatables.min.js位于我项目的project/public/javascripts/DataTables/datables.min.js路径中。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在Eric Guan关于记录$('#dashboard-table').DataTable()的评论的帮助下,我能够发现这是一个路由问题。记录器没有打印出预期的对象。

显然,使用Play框架,您需要编写如下脚本:

<script type="text/javascript" src='@routes.Assets.at("javascripts/DataTables/datatables.min.js")'></script>

我是Java Play的新手,所以我没有意识到这一点,但我能够让DataTables使用这个简单的修复程序。希望这个问题在将来帮助其他人。