如何创建Jsp Ajax Auto完整框

时间:2014-01-28 11:52:09

标签: mysql ajax jsp

我想在文本框中键入单词的第一个字母时显示单词列表。我正在使用jsp设计表单。 我尝试了相同的代码。它正在显示数据。 但是如何单击并从列表中选择特定数据。当我点击搜索后的项目时,我想在文本框中选择数据,请简短地解决我的问题

提前致谢

autocomplete.jsp

<%@page import="java.sql.*"%>
<html>
<head>
<script type="text/javascript">
function showData(value){ 

xmlHttp=GetXmlHttpObject()
var url="auto.jsp";
url=url+"?name="+value;
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged() { 
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
    var showdata = xmlHttp.responseText; 
    document.getElementById("mydiv").innerHTML= showdata;
    } 
}
function GetXmlHttpObject(){
var xmlHttp=null;
try {
  xmlHttp=new XMLHttpRequest();
 }
catch (e) {
 try  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
</script>
</head>
<body>
<form name="employee">
<input  type="text" name="name" id="name" onkeyup="showData(this.value);"><br>
<div id="mydiv"></div>

</table>
</body>
</html>

auto.jsp

    <%@ page import="java.sql.*" %> 
    <%

    String name = request.getParameter("name").toString();
    String buffer="<div>";  
    try{
               Class.forName("com.mysql.jdbc.Driver");
               Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
               Statement st=con.createStatement();
               ResultSet rs=st.executeQuery("select * from users where uname like '"+name+"%'");
    while(rs.next())
    {
      buffer=buffer+rs.getString("uname")+"<br>";
}
buffer=buffer+"</div>";  
response.getWriter().println(buffer);
}
    catch (Exception e) {
    System.out.println(e);
    }
    %>

0 个答案:

没有答案