2013-03-26 29 views
0

我試圖編寫一個代碼,它從數據庫中檢索值並使用slidetoggle()在屏幕上滑動它們。jQuery不能在JSP中工作

這是的.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> 

回答

3

你應該使用一個URI scheme URL到jQuery腳本文件,而不是絕對的文件系統路徑。理想情況下,這將是類似於

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

其中jQuery腳本是您的應用程序的一部分。

如果你只想在本地機器上運行它,你可以使用文件系統路徑,但它應該使用file URI scheme

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

一個更好的解決辦法是使用Google CDN link,如

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

一件事,你真的應該添加一個DOCTYPE到文檔的頂部。我推薦HTML5

<!DOCTYPE html> 
+0

非常感謝,先生,谷歌CDN鏈接工作。並感謝您的更正,我將學習在JSP中避免使用Javascript。 – user2213232 2013-03-27 10:16:51

+0

@ user2213232爲什麼你要在JSP中避免使用JavaScript?你是不是指「Java」? – Phil 2013-03-27 22:55:44

+0

哦對不起,是的,我的意思是「java」。 – user2213232 2013-03-28 14:05:56