日期:2014-05-17  浏览次数:20860 次

做一个可输入的下拉框,能动态检索数据库
如题

做一个可输入的下拉框,能动态检索数据库

最好不要覆盖的,还有动态检索数据库的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并返回给页面,页面清除下拉列表,然后把数据填充进去