Pager(Tablesort插件)在Spring View中不起作用

时间:2013-05-16 20:48:44

标签: jquery spring tablesorter pager

我很抱歉,如果这是一个重复的问题,但我花了几个小时寻找解决方案但没有成功。对于糟糕的英语也不好意思,不是我的母语。 :(

这是我的问题:

我有一个由 Spring 3.0.5 处理的Web应用程序。我的一个 JSP 文件从数据库中检索数据并将其放入表中,这很好。 我正在尝试使用jquery插件 tablesort 对表中的字段进行排序,这对我来说也很好,所以我尝试使用寻呼机插件,这就是当我的童话故事落下时。

我已经在表格的末尾定义了一个带有“id = anyname”的表单,就像tablesorter网络中的文档所说的那样,并在脚本中调用它,但它没有工作

这里我留下了我的JSP文件:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<c:url value="/resources/css/style.css"/>" />
<link rel="stylesheet" type="text/css" href="<c:url value="/resources/css/jquery.tablesorter.pager.css"/>" />
<script type="text/javascript" src="<c:url value="/resources/js/jquery-1.8.2.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/jquery-ui-1.9.1.custom.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/jquery-ui-1.9.1.custom.min.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/jquery.tablesorter.pager.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/jquery.tablesorter.js" />"></script>
<script>
    $(document).ready(function() { 
        $("#consulta")
        .tablesorter({
            headers: { 0: { sorter: false }, 1: { sorter: false }, 6: { sorter: false }},
            sortList: [[2, 0], [0, 0]],
            widthFixed: true,
            widgets: ['zebra']})
        .tablesorterPager({container: $("#pager")}); 
    }); 
</script>
</head>
<body>
/*
*
*
*
*/
<table id="consulta" class="tablesorter">
    <thead>
        <tr>
            <th>C&oacute;digo</th>
            <th>Especialidad</th>
            <th>Asunto</th>
            <th>Fecha</th>
            <th>Ciclo</th>
            <th>Estado</th>
            <th>Opciones</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach items="${consultaSol}" var="solic">
            <c:url var="verUrl" value="/manage/mgmtSol/detalle?id=${solic.id}" />
        <tr>
            <td><c:out value="${solic.codigo}" /></td>
            <td><c:out value="${solic.especialidad}" /></td>
            <td><c:out value="${solic.asunto}" /></td>
            <td><c:out value="${solic.fecha}" /></td>
            <td><c:out value="${solic.ciclo}" /></td>
        <c:if test="${solic.estado == 0 }">
            <td>No atendido</td>
        </c:if>
        <c:if test="${solic.estado == 1 }">
            <td>Atendido</td>
        </c:if>
        <c:if test="${solic.estado == 2 }">
            <td>Resuelto</td>
        </c:if>
            <td><a href="${verUrl}">Ver Detalle</a></td>
        </tr>
    </c:forEach>
    </tbody>
</table>
<div id="pager" class="pager">
    <form>
        <img src="<c:url value="/resources/imagenes/first.png" />" class="first"/>
        <img src="<c:url value="/resources/imagenes/prev.png" />" class="prev"/>
        <input type="text" class="pagedisplay" readonly="readonly"/>
        <img src="<c:url value="/resources/imagenes/next.png" />" class="next"/>
        <img src="<c:url value="/resources/imagenes/last.png" />" class="last"/>
        <select class="pagesize">
            <option value="10">10</option>
            <option value="20">20</option>
            <option value="30">30</option>
        </select>
    </form>
</div>
</body>
</html>

我不知道我做错了什么,正如我在tableort工作正常之前说的那样但是寻呼机选项没有。顺便说一句,我使用的是jquery 1.9.1并将其更改为1.8.2版本,但它不起作用。

此外,当我运行该应用程序时,Chrome开发人员工具会显示一个错误:

Uncaught TypeError: Cannot call method 'addClass' of undefined

但我不明白,它来自jquery-1.8.2.js文件。

请帮帮我!

提前致谢。

1 个答案:

答案 0 :(得分:0)

感谢Mootie的回复。 问题出在jquery版本中,似乎tablesorter v2.0.5在jQuery 1.9+中导致错误。 所以我把我的jquery版本改为1.8.3,它运行得很好。

再次感谢Mottie给我的信息。 问候。