我是Jquery和Javascripts的新手。
我在jsp页面上有两个项目(Index.jsp)。一个文本项目'供应商名称'是自动完成'当我输入字母和其他文字项目时,就是接受“比尔日期”'使用Jquery Datepicker。
当我开始输入字母表以自动填充存储在数据库中的供应商名称时,我尝试调用另一个jsp(getdata.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>
<%@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);
}
%>
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;
}
}
答案 0 :(得分:0)
JQuery autocomplete也是jQuery ui中widget的名称。也许jQuery ui来替换其他的aucomplete,从而阻止了第一次操作。
我建议您删除第一个自动完成并使用jQuery ui引用Documentation