JQuery DataTable无法正常工作

时间:2012-12-11 17:56:37

标签: jquery jsp datatables

我是JQuery的新手。我正在尝试创建一个数据集但它不起作用。除数据表功能外,所有功能都有效。也就是说,表格正在显示正确的数据,但排序,分页等不起作用。我已经从我的webapp文件夹中下载的插件代码中复制了media and scripts文件夹。请告诉我可能出错的地方。 我已从此链接下载了Datatable插件 http://www.codeproject.com/Articles/359750/jQuery-DataTables-in-Java-Web-Applications

以下是我的jsp文件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ include file="/jsp/common/include.jsp"%>
<%@ page import ="java.util.Date" %>
<html>
<head>
<title>Subscriptions List</title>
<link href="${RESOURCE_ROOT}/css/usersubs.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_page.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_table.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_table_jui.css" rel="stylesheet" type="text/css" />
<link href="/media/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" media="all" />
<link href="/media/themes/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" media="all" />

<script src="/scripts/jquery.js" type="text/javascript" ></script>
<script src="/scripts/jquery.dataTables.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function () {
    $("#subscriptionlist").dataTable({
        "sPaginationType": "full_numbers",
        "bJQueryUI": true
    });
});
</script>
</head>
<body>
<div id="subscriptionsList">
<table id="subscriptionlist">
    <thead>
        <tr>
            <th>Subscription Name</th>
            <th>Type</th>
            <th>Last Updated</th>
            <th>Creation Date</th>
            <th>Delete</th>
        </tr>
    </thead>
    <tbody>
    <c:forEach var="subscription" items="${subList}">
        <tr>
            <td>${subscription.name}</td>
            <td>${subscription.type}</td>
            <td>${subscription.lastUpdateDt}</td>
            <td>${subscription.createDt}</td>
            <td><a href="${CONTEXT_ROOT}subscription/delete/id/${subscription.id}/${subscription.user.id}" class="show-hand-cursor">Delete</a></td>
        </tr>       
    </c:forEach>
    </tbody>        
</table>
<div style="width:100%; margin-top:0px;">
    <table border="0px">
        <tr>
            <td style="padding-top:25px"; align="right" class="noborder"> <button >Add Subscription</button></td>
        </tr>
    </table>
</div>
<div>

</div>
</div>
</body>
</html>

我得到的HTML是

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<title>Subscriptions List</title>
<link href="/cv-subscription-web/resources/css/usersubs.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_page.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_table.css" rel="stylesheet" type="text/css" />
<link href="/media/dataTables/demo_table_jui.css" rel="stylesheet" type="text/css" />
<link href="/media/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" media="all" />
<link href="/media/themes/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" media="all" />

<script src="/scripts/jquery.js" type="text/javascript" ></script>
<script src="/scripts/jquery.dataTables.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function () {
    $("#subscriptionlist").dataTable({
        "sPaginationType": "full_numbers",
        "bJQueryUI": true
    });
});
</script>
</head>
<body>
<div id="subscriptionsList">
<table id="subscriptionlist">
    <thead>
        <tr>
            <th>Subscription Name</th>
            <th>Type</th>
            <th>Last Updated</th>
            <th>Creation Date</th>
            <th>Delete</th>
        </tr>
    </thead>
    <tbody>

        <tr>
            <td>EQ549_author3</td>
            <td>EqWireArticle</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td><a href="/cv-subscription-web/subscription/delete/id/50c0b59781ce4dd6efab7e14/dd32261" class="show-hand-cursor">Delete</a></td>
        </tr>       

        <tr>
            <td>EQ549_author4</td>
            <td>EqWireArticle</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td><a href="/cv-subscription-web/subscription/delete/id/50c5f96581ce1243814edb11/dd32261" class="show-hand-cursor">Delete</a></td>
        </tr>       

        <tr>
            <td>EQ_author7</td>
            <td>EqWireArticle</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td><a href="/cv-subscription-web/subscription/delete/id/50c64dc181ce1243814edb14/dd32261" class="show-hand-cursor">Delete</a></td>
        </tr>       

        <tr>
            <td>EQ_author6</td>
            <td>EqWireArticle</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td><a href="/cv-subscription-web/subscription/delete/id/50c64dc481ce1243814edb15/dd32261" class="show-hand-cursor">Delete</a></td>
        </tr>       

        <tr>
            <td>EQ_author8</td>
            <td>EqWireArticle</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td>Wed Nov 07 02:46:20 EST 2012</td>
            <td><a href="/cv-subscription-web/subscription/delete/id/50c64dc981ce1243814edb16/dd32261" class="show-hand-cursor">Delete</a></td>
        </tr>       

    </tbody>        
</table>
<div style="width:100%; margin-top:0px;">
    <table border="0px">
        <tr>
            <td style="padding-top:25px"; align="right" class="noborder"> <button >Add Subscription</button></td>
        </tr>
    </table>
</div>
<div>

</div>
</div>

</body>
</html>

非常感谢!

1 个答案:

答案 0 :(得分:1)

我构建了一个小小的here,它可以很好地排序 - 我在代码中看不到dataTables.css,但这不会影响功能。

最可能的原因是找不到您的dataTables.min.js文件。如果您在修复问题时遇到问题,可以尝试链接到Microsoft CDN for dataTables:http://datatables.net/blog/Microsoft_CDN