实现autocomplete技术
来源:互联网 发布:md204lv4软件下载 编辑:程序博客网 时间:2024/06/05 08:12
1.引入js
<script src="../JS/jquery-1.9.0.js"></script>
<script src="../JS/ui/core.js"></script>
<script src="../JS/ui/widget.js"></script>
<script src="../JS/ui/position.js"></script>
<script src="../JS/ui/menu.js"></script>
<script src="../JS/ui/autocomplete.js"></script>
2.引入css
<link href="../CSS/input.css" rel="stylesheet" media="all" type="text/css" />
<link href="../CSS/jqueryall.css" rel="stylesheet" media="all" type="text/css" />
3.在html代码中编辑一个input标签和相应的css样式
<style type="text/css">
.ui-autocomplete-loading {
background: white url("../Images/images/ui-anim_basic_16x16.gif") right center no-repeat;
}
.key{
width: 15em;
height:1.25em;
}
</style>
<input class = "key" id = "key1" type = "text" name="key1" value="${key1}" />
4.js代码
$(function() {
//缓存
var cache = {};
$("#key1").autocomplete({
source: function( request, response ) {
var term = request.term;
if ( term in cache ) {
response( cache[ term ] );
return;
}
$.ajax({
type: "POST",
url: "testPager.do?action=key1fQueryf",
dataType: "json",
data:{key1ftest: encodeURIComponent(request.term)},
success: function( data ) {
cache[ term ] = data.valueField;
response( data.valueField );
}
});
},
minLength: 2,
select: function( event, ui ) {
//设置已选的选项
$("#key1").val(ui.item?ui.item.value :this.value);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
});
</script>
服务端实现:
// key1值赛选
private ActionForward key1fQueryf(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
if (null == session.getAttribute(Constant.MANAGER)
|| "".equals(session.getAttribute(Constant.MANAGER))) {
return mapping.findForward("dealNull");
} else {
// key1值前编辑内容值
String key1f = "";
try {
key1f = java.net.URLDecoder.decode(
request.getParameter("key1ftest"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
List<Manager> lists = mdao.getManagersBylName(key1f);
JSONArray ja = new JSONArray();
JSONObject jo = null;
for (Manager m : lists) {
jo = new JSONObject();
jo.put("label", m.getName());
jo.put("value", m.getName());
if (ja.contains(jo)) {
continue;
}
ja.add(jo);
}
JSONObject o = new JSONObject();
o.put("valueField", ja);
try {
PrintWriter print = response.getWriter();// 取得输出流
print.write(o.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
实现案例
链接http://download.csdn.net/detail/xiaozukun/8379511
- 实现autocomplete技术
- AutoComplete实现关键字提示
- dojo实现autocomplete
- 实现txtbox的AutoComplete
- jQuery AutoComplete实现
- Django & JQuery 实现 Autocomplete
- Django & JQuery 实现 Autocomplete
- Jquery实现类似Google autocomplete
- jQuery autoComplete实现模糊查询
- MVC程序实现Autocomplete功能
- ace editor autocomplete实现方式
- MVC程序实现Autocomplete功能
- jquery.autocomplete实现自动补充
- autocomplete 实现输入自动提示
- jquery Autocomplete 实现联想查询
- jquery.autocomplete 实现实时查询
- AutoComplete
- AutoComplete
- .net 替换 HTML中的某个标签 例:string TempStr = DropHtmlTag(Node_Content.InnerText,"a");
- UML类图几种关系的总结
- 开始node.js的学习
- ant 基础及文件操作
- 理解 Android Build 系统
- 实现autocomplete技术
- HKEx: Trading Hours for Securities and Derivatives Markets
- 富爸爸,穷爸爸
- java 中 static 和 final 的用法
- Service 与通知栏
- mybatis和ibatis的一点区别
- quick使用之通过filter来给精灵描边
- eclipse 自动关闭总结
- iOS block传值方法