【发布时间】:2017-04-13 12:06:38
【问题描述】:
我是 Jquery 和 Javascripts 的新手。
我在一个 jsp 页面 (Index.jsp) 上有两个项目。当我键入字母时,一个文本项“供应商名称”是“自动完成”,而其他文本项是使用 Jquery Datepicker 接受“账单日期”。
我尝试在开始输入字母后立即调用另一个 jsp (getdata.jsp) 以自动填充存储在数据库中的供应商名称。此功能运行正常,没有任何问题。
但是当我在 Index.Jsp 中也包含“账单日期”项目时,自动完成功能不起作用,但日期选择器正在工作。请让我知道如何进行自动完成和日期选择器。
请注意,所需的库已下载并保存在我的工作目录中,并且库路径没有问题。
Index.jsp
<html>
<head>
<link rel="stylesheet" type="text/css" href="./jquery.autocomplete.css" />
<script type="text/javascript" src="./jquery.autocomplete.js"></script>
<script type="text/javascript" src="./jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="./jquery-ui.min.js"></script>
<link rel="stylesheet" href="./jquery-ui.min.css">
<script type="text/javascript" >
$(document).ready(function(){
$("#billdate").datepicker(
{
inline:true,
showOn: "button",
buttonImageOnly: true,
buttonImage: "From_Date_Calendar.jpg",
dateFormat: "dd-M-yy"
});
});
</script>
</head>
<body>
<input type="text" id="country" name="country" />
bill Date <input type="text" id="billdate" readonly /><br/>
<script>
$("#country").autocomplete("getdata.jsp");
</script>
</body>
</html>
getdata.jsp
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="BillmgmtPack.DummyDB"%>
<%
System.out.println("In get data.jsp");
DummyDB db = new DummyDB();
String query = request.getParameter("q");
List<String> countries = db.getData(query);
Iterator<String> iterator = countries.iterator();
while(iterator.hasNext())
{
String country = (String)iterator.next();
out.println(country);
}
%>
DummyDB.java
package BillmgmtPack;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.*;
import javax.naming.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
public class DummyDB {
public List<String> getData(String query) {
String country = null;
query = query.toLowerCase();
Connection con=null;
List<String> matched = new ArrayList<String>();
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection(
"jdbc:oracle:thin:@xxx.xx.xxx.xx:1521:qqqqq","yyyyy","zzzzz");
}catch(Exception e)
{
e.printStackTrace();
}
try{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select vendor_name from vendor_master where vendor_name like upper('"+query+"%')");
//System.out.println("rs query-"+query);
int k=0;
while(rs.next())
{
//System.out.println("in rs query-"+query+" / "+rs.getString(1));
matched.add(rs.getString(1));
k=k+1;
}
if (k==0)
{
matched.add("notfound");
}
} catch(Exception e)
{
e.printStackTrace();
}
return matched;
}
}
【问题讨论】:
标签: javascript java jquery