做一个可输入的下拉框,能动态检索数据库
如题
做一个可输入的下拉框,能动态检索数据库
最好不要覆盖的,还有动态检索数据库的javascript怎么写比较好一些。
希望大家指点,谢谢。
------解决方案--------------------这个下拉框的选项来自于数据库某表 某列?
根据数据库数据变化而变化?
ajax取数据 jquery或js放到下拉框
------解决方案--------------------
//servlet得到列表
public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws 
ServletException, 
IOException {
   request.setCharacterEncoding("utf-8");
	response.setContentType("text/html;charset=gbk");    
	String userName=request.getParameter("userName");
	List<String> userList=new UserBizImpl().getUserList(userName);	
   PrintWriter out =response.getWriter();
	System.out.println("userName:"+userName);
	for(String uName :userList)
	{
		out.print(uName+"<br>");	}
	out.flush();
	out.close();  
	}
//js
var xmlHttpRequest;
//createXmlHttpRequest函数
function  createXmlHttpRequest()
{
 //ie6以上或其他浏览器
 if(window.XMLHttpRequest)
 {
   return new XMLHttpRequest();
 }
 else if(window.ActiveXObject)//ie6以下
 {
   return new ActiveXObject("Microsoft.XMLHTTP");
 }    
}
  function demo()
  {
  //1.得到userName
  var userName=document.getElementById("userName").value;
  if(userName=="")
  {
    document.getElementById("divMsg").innerHTML="不能为空";
  }
  else
  {  
   xmlHttpRequest=createXmlHttpRequest();
     var url="userServlet";    
  xmlHttpRequest.onreadystatechange=callback;
  //5.open,send
  xmlHttpRequest.open("post",url,true);
  xmlHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");    
  xmlHttpRequest.send("userName="+userName);
  }
  }
  function callback()
  {
  if(xmlHttpRequest.readyState==4 &&
     xmlHttpRequest.status==200)
  {
    document.getElementById("divMsg").innerHTML=xmlHttpRequest.responseText;
  }
  }
------解决方案--------------------当下拉框的值改变触发一个事件,用ajax去后台去除数据以输入汉字开头的数据,用josn并返回给页面,页面清除下拉列表,然后把数据填充进去