ajax(DWR框架)实现简单的内容自动补全
dwr.xml中的配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="JUserChecker">
<param name="class" value="com.biz.UserCheck" />
<include method="check" />
<include method="test" />
<include method="getList" />
<include method="test1" />
</create>
<convert converter="bean" match="com.entity.TblUser" />
</allow>
</dwr>
以下为服务器端类:
public class UserCheck {
/**
* 自动补全
*/
public List getList(String key){
String hql = " select user.uname from TblUser as user where user.uname like'"+key+"%'";
Session session = HibernateSessionFactory.getSession();
Query query = session.createQuery(hql);
List list = query.list();
System.out.println("========listSize:"+list.size());
return list;
}
}
以下为页面中使用的js:
<!-- dwr/路径和web.xml映射路径对应 -->
<script type='text/javascript' src='dwr/interface/JUserCheck.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
var widthDiv;
function showUser(obj){
widthDiv = obj.offsetWidth;//文本框的宽度,层随此宽度
var uname = obj.value;
JUserChecker.getList(uname,innerContext);
}
//自动补全
function innerContext(args){
var content = "<table width=100%>";
for(var i in args){
content+="<tr width=\"100%\" onmouseover=\"this.style.background='#CCCCCC'\" onmouseout=\"this.style.background=''\">";
content+="<td onclick='sel(this)' style='cursor:hand'>";//添加点击事件和手形样式
content+=args[i];//内容
content+="</td></tr>";
}
content += "</table>";
document.getElementById("showUser").style.display="block";//显示层
document.getElementById("showUser").style.width=widthDiv;//设定层的宽度和文本框同宽
document.getElementById("showUser").innerHTML=content;
}
function sel(obj){
document.getElementById("item.uname").value=obj.innerHTML;//把点击选中的内容赋值给文本框
document.getElementById("showUser").style.display="none";//层隐藏
}
</script>
页面主要代码如下:
<table align="center" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>用户注册:</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td>自动补全:</td>
<td><input name="item.uname" onkeyup="showUser(this)" autocomplete = "off" />
</td>
<tr><td></td><td valign="top">
<div style="border:1px; width:150px;background-color:#999999;position:absolute;z-index:2;overflow:scroll;" id="showUser"></div>
</td>
</table>
分享到:
相关推荐
ajax(DWR框架)实现简单的内容自动补全
DWR自动补全 1111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
使用Hibernate+servlet做一个小小自动补全功能 使用dwr框架实现类似百度搜索
是用ssh+Dwr的自动补全。我就用这样的方法做了一个例子。很好的用的一个补全方法,
这是一个简单的搜索自动补全,实现ssh,jQuery,dwr整合。
本项目是利用DWR框架实现Ajax无刷新,自动补全功能!
实现DWR+Servlet+JDBC 完美整合
NULL 博文链接:https://cuisuqiang.iteye.com/blog/1541423
自己dwr做的实例,具体如下: 数据库中有五条记录:1 12 123 1234 12345 输入 1 输出:1 12 123 1234 12345(以1开头的全部记录) 输入 12 输出: 12 123 1234 12345(以12..) 输入 123输出: 123 1234 12345(以123..) ...
DWR框架的实现DWR框架的实现DWR框架的实现DWR框架的实现DWR框架的实现
dwr实现ajax功能ajax+dwr.........................
包含Ajax高级程序设计和DWR框架的资料
Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子)
ajax框架dwr实现的页面无刷新分页效果,jsp技术
DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...
dwr补全查询,如同百度的搜索,输入一个值ajax显示出包含该值的所有信息
dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页dwr实现无刷新分页
用数据库缓存池和dwr实现的jsp程序数据库缓存池和dwr实现的jsp程序
使用DWR实现服务器端向客户端精确推送消息
这是一个用dwr 框架实现类像百度输入关键字后自动填充下拉框,并点击搜索显示数据库中对应的数据的一个项目