在GOOGLE使用中,可以根据输入的内容显示出很多相似的可选项,如输入“大片”,底下就罗列出“大片电影”、“大片下载”、“大片推荐”...
现在想实现类似功能,就是输入一个编号如“20070122”在输入时从数据库表中编号字段中将与这个编号相近的编号一一罗列出来。如输入“200701”,则出现“20070111”、“20070120”、“20070122”...
请问如何实现,能否具体点指示?
现在想实现类似功能,就是输入一个编号如“20070122”在输入时从数据库表中编号字段中将与这个编号相近的编号一一罗列出来。如输入“200701”,则出现“20070111”、“20070120”、“20070122”...
请问如何实现,能否具体点指示?
解决方案 »
- 判断当前时间是否在设定时间范围
- --filter中把请求参数用base64加密解密怎么做?
- Extjs!!!求一个js既可以做修改界面,又可以做保存界面,并且是formpanel的
- fckeditor上传本地图片
- 谁能看一下这个配置文件那错了!!
- Struts1用html:link为标签,那么Struts2用什么呢?
- 如何防止恶意刷新页面!!
- 请教:如何在webloigic下自己定义getServletContext()返回application对象?
- 关于《JSP WEB 编程指南》这本好书,请知道的发表一下意见!
- Java Http请求message过长,30s超时
- 实际的开发中一般都用spring的aop来做什么工作呢?
- 在Oracle中删除一个表的问题~!
不知道楼主有没有研究过struts2中的autocompleter,有时间的画简易楼主看一下,也许能参考到。
下面是一个用ajax实现的比较简单的填充的例子。当光标从文本框上移走是自动填充。
index.htmfunction doAutoComplete(obj){
var url = "servlet/SelUserName?inputUserName="+obj.value;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if(req){
req.open("GET",url, true);
req.onreadystatechange = doFinish;
req.send(null);
}
}
function doFinish(){
if (req.readyState == 4) {
if (req.status == 200) {
var userName = req.responseXML.getElementsByTagName("userName")[0].firstChild.data;
document.getElementById("userName").value=userName;
}
}
}
<input name="userName" onChange="doAutoComplete(this)">
web.xml <servlet>
<servlet-name>SelUserName</servlet-name>
<servlet-class>
com.test.servlet.SelUserName
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelUserName</servlet-name>
<url-pattern>/servlet/SelUserName</url-pattern>
</servlet-mapping>
Servletpackage com.test.servlet;
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SelUserName extends HttpServlet { public SelUserName() {
super();
} public void destroy() {
super.destroy();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String inputUserName = request.getParameter("inputUserName");
StringBuffer sb = new StringBuffer("<userName>");
if ("a".equals(inputUserName)){
sb.append("a_user_001");
} else if("b".equals(inputUserName)) {
sb.append("b_user_101");
}
sb.append("</userName>");
PrintWriter out = response.getWriter();
out.write(sb.toString());
out.close();
}
}
当输入a一走光标时,自动填充a_user_001,输入b时自动填充b_user_101