0

我正在尝试编写一个从数据库中检索值并用于slidetoggle()在屏幕上滑动它们的代码。

这是没有数据库检索的.html文件,效果很好:

<html>
<head>

<script type="text/javascript" src="C:\Users\Mohit\Desktop\jquery-1.9.1.min.js"></script>
</head>
<body onload="handleChange();">

<label><input type='checkbox' onchange='handleChange();'>Check box</label>

<script>
function handleChange()
{
    $('.slideTogglebox').slideToggle();
}
</script>
<div class="slideTogglebox">
    <ul>
        <li><input type="checkbox">Judge1</li>
        <li><input type="checkbox">Judge2</li>
    </ul>
</div>
</body>
</html>

然后我写了这个.jsp文件,包括上面的带有数据库检索的 jQuery,但在输出中它只显示检索到的值,但slidetoggle()函数不起作用。

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>

<script language="javascript" type="text/javascript" src="C:\Users\Mohit\Desktop\jquery-1.9.1.min.js"></script>
<script language="javascript">
function handleChange()
{

    $('.slideTogglebox').slideToggle();

}
</script>
</head>
<body onload="handleChange();">
<%
    try{
        Connection conn = null;
        ResultSet rs;

            Class.forName("com.mysql.jdbc.Driver");
        conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/aniket","root","");
        String strsql=null;
        strsql="select * from projects";
        Statement stmt=conn.createStatement();
        rs=stmt.executeQuery(strsql);
        while(rs.next())
        {%><br><input type='checkbox' onchange='handleChange();'><%
            out.print("CO"+rs.getInt(1)+"");
            out.print(rs.getString(2));
        }   
       }
        catch(Exception e)
        {
           e.printStackTrace();
           System.out.println(e);
        }
%>
    <div class="slideTogglebox">
    <%
            Connection conn1 = null;
                ResultSet rs1;
            conn1=DriverManager.getConnection("jdbc:mysql://localhost:3306/aniket","root","");
            String strsql1=null;
            strsql1="select * from judges";
            Statement stmt=conn1.createStatement();

            rs1=stmt.executeQuery(strsql1);
            while(rs1.next())
            {%><br><input type='checkbox'><%
            out.print(rs1.getInt(1));
            out.print(rs1.getString(2));
        }%>
</div>
</body>
</html>
4

1 回答 1

3

您应该使用 jQuery 脚本文件的URI 方案url,而不是绝对文件系统路径。理想情况下,这将类似于

<script src="/javascript/jquery-1.9.1.min.js"></script>

其中 jQuery 脚本是您的应用程序的一部分。

如果你只想在本地机器上运行它,你可以坚持使用文件系统路径,但它应该使用文件 URI 方案

<script src="file:///C:/Users/Mohit/Desktop/jquery-1.9.1.min.js"></script>

更好的解决方案是使用Google CDN 链接,例如

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

还有一件事,你真的应该在文档的顶部添加一个 doctype。我推荐 HTML5

<!DOCTYPE html>
于 2013-03-26T22:30:45.907 回答