【问题标题】:JQuery DataTable not workingJQuery 数据表不工作
【发布时间】:2012-12-11 17:56:37
【问题描述】:

我是 JQuery 的新手。我正在尝试创建一个数据表,但它不起作用。除数据表功能外,所有功能均有效。也就是说,表格正在显示正确的数据,但排序、分页等不起作用。我已经从我的 webapp 文件夹中下载的插件代码中复制了媒体和脚本文件夹。请让我知道可能出了什么问题。 我已经从这个链接下载了 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>

非常感谢!

【问题讨论】:

  • JavaScript 控制台中的任何错误?另外,您能否发布您在浏览器中获得的 HTML,而不是服务器上的 JSP?
  • 不相关,使用 JSTL c:forEach 创建表的方式很糟糕...最好使用 sAjaxSource 并将其指向将返回 json 数组的 servlet...跨度>
  • @Blazemonger 我已经用 HTML 输出更新了帖子。 Daniel 谢谢你的建议,我会试试看的。
  • 好的,我构建了一个小提琴here,它很好——我在你的代码中看不到 dataTables.css,但这不应该影响功能——也许你的 dataTables.min .js 不是你想的那样?
  • @Blazemonger 是的,你是对的,它无法以某种方式找到它。它能够找到我的资源文件夹中的 usersubs.css 并且我使用 ${RESOURCE_ROOT} 引用它,它形成

标签: jquery jsp datatables


【解决方案1】:

我构建了一个小提琴here,它可以很好地排序——我在您的代码中的任何地方都看不到dataTables.css,但这不应该影响功能。

最可能的原因是找不到您的dataTables.min.js 文件。如果您无法解决这个问题,您可以尝试链接到 Microsoft CDN 以获取数据表:http://datatables.net/blog/Microsoft_CDN

【讨论】:

    猜你喜欢
    • 2018-02-14
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    相关资源
    最近更新 更多