Struts2+jQuery+JSON 实现输入关键字后提示框显示数据
来源:互联网 发布:电视机电视直播软件 编辑:程序博客网 时间:2024/06/05 02:34
实现步骤如下:
1、JSP页面使用脚本代码执行ajax请求
<script type="text/javascript" src="js/jquery-1.8.3.js"></script><script type="text/javascript" src="js/search.js"></script><style type="text/css">body{text-align: center;}#searchDiv {width:250px;margin:0px auto;text-align:left;}#content {width:150px;}#suggest {display:none; font-size:12px; width:152px; border:gray 1px solid;}</style></head><body><div></div><div id="searchDiv"><form action="">请输入关键字:<input id="content" type="text"><input id="search-btn" type="button" value="查询"><br><div id="suggest"></div> <!-- 显示关联的数据 --></form></div></body>
2、脚本文件
$(document).ready(function(){var oldContent = "";//文本变化前的内容,使用它和新内容对比,发生了变化才发送ajax请求$("#content").keyup(function(){var content = $.trim($("#content").val()); //文本内容if(content == "" || content == oldContent){return;//没有输入内容或者文本内容没有发生变化时就返回}oldContent = content;var params = {"input":$.trim($("#content").val())}; //页面要传的参数$.ajax({url:"getKeyword", //action type:"post",data:params, //传参数dataType:"json", //数据类型JSONsuccess:function(data){//alert(JSON.stringify(data));if(data.keywords.length == 0){//没有关键字就隐藏提示框,并返回$("#suggest").hide();return;}$("#suggest").show().html("");//显示提示框并清空提示框//添加关键字列表for(var i=0;i<data.keywords.length;i++){$("#suggest").append("<div class='keyword'>"+data.keywords[i]+"</div>");}//为新添加的关键字列表添加事件$(".keyword").live("mousemove",function(event){//鼠标移入背景变成灰色$(event.target).css("background-color","silver");});$(".keyword").live("mouseout",function(event){//鼠标移出背景变成白色$(event.target).css("background-color","white");});$(".keyword").live("dblclick",function(event){//双击时把内容加入到输入框$("#content").val($(event.target).html());$("#suggest").hide(); //隐藏oldContent = "";});},error:function(){alert("Ajax请求出错.....");}});});});
3、Action中查询出需要返回的数据,并转换为json类型模式数据
public class SearchAction extends ActionSupport {private String input; // 传过来参数private List<String> keywords; // 数据public String getInput() {return input;}public void setInput(String input) {this.input = input;}public List<String> getKeywords() {return keywords;}public void setKeywords(List<String> keywords) {this.keywords = keywords;}@Overridepublic String execute() throws Exception {// 获取关键词String[] words = { "流向", "流水线", "流星花园", "流量表", "张三","张飞","张天爱" };keywords = new ArrayList<String>();// 遍历for (String string : words) {if (string.indexOf(input) != -1) {keywords.add(string);}}return SUCCESS;}}
4、配置struts.xml文件
<package name="hang1" namespace="/" extends="json-default"><action name="getKeyword" class="com.hlx.ajax.SearchAction"> <result type="json"></result></action></package>
5、接受并处理数据
0 0
- Struts2+jQuery+JSON 实现输入关键字后提示框显示数据
- 仿百度搜索框,文本框输入值后提示框显示数据(JQuery+Struts2)
- struts2+jquery+json实现异步加载数据
- 用Jquery实现在输入框内添加提示语,获取焦点后提示语消失
- JQuery+JSON+Struts2实现
- JQuery_JAVA_利用jQuery的AJAX和JSON实现可输入下拉框提示
- jquery显示json数据
- html实现radio按钮选中后显示输入框和提示
- Jquery实现html4输入框提示
- struts2+jquery +json实现异步加载数据,亲测(原创)
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据(MARK)
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据
- Struts2+Jquery实现ajax并返回json类型数据
- 【BZOJ 3611】 [Heoi2014]大工程|虚树|树上DP
- 下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
- postgresql大版本升级
- php xdebug
- 【经验分享】解读支付宝接口程序
- Struts2+jQuery+JSON 实现输入关键字后提示框显示数据
- 利用 Composer 完善自己的 PHP 框架(二)——发送邮件
- Android性能优化典范 - 第2季
- 关于Joda-time
- Android数据存储
- Mybatis 源码 sql执行流程分析
- Spring与SpringMVC的容器关系分析
- git clone 远程分支
- 二叉树回顾(1):建立、交换左右子树