`
chaoyi
  • 浏览: 291008 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ajax+JSON 搜索框自动完成提示功能

 
阅读更多

index.jsp 页面

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>简单自动完成</title>
<!-- jQuery UI 样式文件 -->
<link rel="stylesheet" href="css/jquery-ui.css" type="text/css" />
<!-- jQuery 基础脚本库 -->
<script type="text/javascript" src="js/jquery.js"></script>
<!-- jQuery UI 所有插件脚本库 -->
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript">
	$(function() {
		//调用 autocomplete 控件
		$("#tags").autocomplete({
			minLength : 2,//最少 2 个字符才现提示
			delay : 1000,//1秒后再出现提示
			source : function(request, response) {
				//通过 request.term 获得输入的值(term 为默认参数名),response([Array])用来呈现远程数据
				$.post("demo.jsp", "term=" + request.term, function(data) {
					//把数据返回的数据转成 JSON 对象
					var result = $.parseJSON(data);
					response(result);//输出返回结果
				});
			},
			//得到焦点就显示
			focus : function(e, ui) {
				$("#info").text(ui.item.value);
			}
		});
	});
</script>
</head>
<body>
	查询:
	<input id="tags" type="text" />
	<span id="info"></span>
</body>
</html>
 

demo.jsp 页面

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<%
	request.setCharacterEncoding("GBK");
	String query = request.getParameter("term");//获取要匹配的参数
	String[] source = { "ActionScript", "AppleScript", "Asp", "BASIC",
			"C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang",
			"Fortran", "Groovy", "Haskell", "Java", "JavaScript",
			"Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" };
	StringBuffer buffer = new StringBuffer("[");
	//遍历目标数组,返回符合条件的结果
	for (int i = 0; i < source.length; i++) {
		if (null != query) {
			//忽略大小写比较
			if (source[i].toLowerCase().startsWith(query.toLowerCase())) {
				buffer.append("{\"label\":\"" + source[i] + "\"},");
			}
		}
	}
	String result = buffer.toString();
	//去掉最后面的逗号
	if (result.endsWith(",")) {
		result = result.substring(0, result.length() - 1);
	}
	result += "]";
	//输出到浏览器
	out.print(result);
	//输出到控制台[{"label":"ActionScript"},{"label":"AcXXX"}]
	System.out.print(result);
%>

 

效果图:




 

 

 

  • 大小: 13.9 KB
  • 大小: 13.2 KB
  • 大小: 14.1 KB
分享到:
评论

相关推荐

    仿google搜索下拉层框ajax+json+php 实现

    仿google搜索下拉层框ajax+json+php 实现

    PHP+JSON搜索框输入提示实例

    PHP+JSON搜索框输入提示实例,运用了JSON技术实现ajax搜索提示,当用户在搜索框输入内容时,可显示出搜索提示内容列表,会智能匹配搜索关键词,用户通过鼠标点击选择这些匹配关键词,免去用户操作的麻烦,另外也有...

    PHP jQuery json搜索框智能标签提示实例

    PHP jQuery json搜索框输入提示特效,运用了JSON技术实现的ajax搜索提示。 免积分下载:http://www.srcfans.com/code/12100.shtml 当用户在搜索框输入内容时,可显示出可能的内容列表,会智能匹配搜索项,用户可通过...

    httpxmlRequest+ajax+jquery+fastjson+jsp异步通讯实战案例精讲

    模糊查询,模拟百度搜索框功能。 5.利用ajax技术,返回JSON格式数据; 6.利用JQuery的$.ajax,$.post,$.get方法,分别返回text,xml,json等格式数据,通过fastjson生成JSON格式数据; 7.使用JQuery的ajax技术,在一...

    ajax+jsp仿谷歌搜索引擎

    得用ajax实现仿谷歌搜索引擎中文本框自动补全功能

    Servlet+Ajax实现智能搜索框智能提示功能

    利用无刷新技术智能变换搜索框的提示,同百度搜索 效果图 其基本原理: 1.给搜索框编写js绑定事件onkeyup(键盘输入时)、onfocus(当鼠标点击搜索框外的时候清空提示) 2.首先获得用户输入、之后将获得的数据传给...

    PHP jQuery json搜索框输入提示示例 1.0

    PHP jQuery json搜索框输入提示特效,运用了JSON技术实现的ajax搜索提示,当用户在搜索框输入内容时,可显示出可能的内容列表,会智能匹配搜索项,用户可通过鼠标选择这些匹配项,免

    java-searchBar:servlet+ajax实现搜索框智能提示

    servlet+ajax实现搜索框智能提示 (ajax) (json) 原理:输入框获得数据----------&gt;服务器(servlet)进行查询---------&gt;前端接收并解析展示数据 过程: 1.前台静态页面设计 2.创建xmlHttp对象 3.给服务器发送数据 4...

    基于JQuery 的自动完成功能的实现

    当客户在利用Goolge 或Baidu 搜索引擎在网上搜索信息时,自动完成功能给大家带来了很大的便利。随 着Ajax 技术的迅速发展,自动完成功能在不同的框架中都得到了一定程度的实现。以某精密机械有限公司ERP 系 统的制定...

    PHP+Ajax网站开发典型实例

    实例72 根据邮编自动完成地址信息 实例73 AiaX+PHP域名查询 实例74 根据代码列出城市名 实例75 Ajax自动保存草稿 实例76 实时更新股价 实例77 相册程序 实例78 切换标签 实例79 创建RSS阅读器 实例80 基于...

    javaweb课程管理系统

    采用JSP+JDBC+JavaBean+Servlet+EL+Ajax+DAO+Service+Json+jquery技术的MVC三层结构,系统由七个表构成(生成sql文档已在压缩包里)。 1、项目的用户类型有学生、教师和管理员 3 种类型 2、用户功能: 学生和教师能对...

    java课设基于ssm+bootstrap+ajax的网上购物商城系统项目源码+数据库脚本sql

    java课设基于ssm+bootstrap+ajax的网上购物商城系统项目源码+数据库脚本sql,每个功能都是用ajax的前后端交互,非常适合初学者学习json数据交互,ssm框架,以及bootstrap, 该网上购物商城系统项目的源码主要由以下...

    ajax跨域访问WCP搜索,返回JSON数据

    实例代码分为前台和后台,前台为一个其他项目的搜索框,后台为WCP开源项目搜索的代码,作用是:在其他项目中整合WCP,并实现自己搜索的API,对检索内容进行拼接。有需要的可以下载一下。

    Ajax基础教程(扫描版)

    8.7.6 如何完成自动重新刷新工作 235 8.7.7 构建更好的autocomplete 237 8.8 小结 240 附录a 开发跨浏览器javascript 241 a.1 向表中追加行 241 a.2 通过javascript设置元素的样式 242 a.3 设置元素的class...

    tinySelect-带搜索过滤和ajax加载功能的select下拉框

    tinySelect.js是一款支持选项搜索过滤和Ajax远程加载的select下拉选择框jQuery插件。该下拉选择框插件可以搜索相关选项,可以通过Ajax调用json数据来填充下拉框,并且它支持中文,非常实用。

    tinySelect带搜索过滤和ajax加载功能的select下拉框插件

    tinySelect.js是一款支持选项搜索过滤和Ajax远程加载的select下拉选择框jQuery插件。该下拉选择框插件可以搜索相关选项,可以通过Ajax调用json数据来填充下拉框,并且它支持中文,非常实用。

    ThinkPHP3.2.3---ajaxreturn的应用:一个在搜索框中输入,实时动态显示模糊搜索结果

    ThinkPHP3.2.3---ajaxreturn的应用:一个在搜索框中输入,实时动态显示模糊搜索结果。在一个文本框中输入关键词,利用ajax和ajaxreturn实时显示模糊搜索的json数据。当然获得了json数据,后期处理数据就随你怎么弄了...

    SearchProject:Django,Ajax实现仿百度搜索框的实时补全提示效果

    SearchProject Django,Ajax实现仿百度搜索框的实时补全提示效果 JQuery oninput判断用户输入。 Ajax实时向服务器提交get请求。 Django后台__icontains模糊查询,返回json结果集。 ##演示效果

    利用jsonp跨域调用百度js实现搜索框智能提示

    项目中常常用到搜索,特别是导航类的网站。自己做关键字搜索不太现实,直接调用百度的是最好的选择。 使用jquery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript也可以实现跨域调用js。  ok...

Global site tag (gtag.js) - Google Analytics