一个模拟搜索自己主动补全的实例(超简单)

非常早就像写一个模拟Google搜索栏自己主动补全的实例。那时候刚学点js,css也玩不转。即使网上有些demo,看起来也非常费力。写了两次仅仅是勉强能出来待筛选项。不能自由选择。这两天学了点jQuery的ajax。配合一点资料,自己成功实现了这个功能,jQuery的口号真是名副事实上----The Write Less, Do More.

CSS

<style type="text/css" >
.listbox{
position: relative;
left: 10px;
margin: 10px;
width: 200px;
background-color: #000;
color: #fff;
border: 2px solid #000;
}

.nameslist{
margin: 0px;
padding: 0px;
list-style: none;
}

.hover{
background-color: cyan;
color: red;
}

</style>

js

<script type="text/javascript">
$(document).ready(function(){
     $(‘.listbox‘).hide();
     $(‘.userid‘).keyup(function(){
	    var user = $(‘.userid‘).val();
	    var data = ‘username=‘+user;
	    $.ajax({
	        type:"POST",
	        url:"AutoServlet",
	        data:data,
	 		success:function(html){
	  			$(‘.listbox‘).show();
	  			$(‘.nameslist‘).html(html);
	  			$(‘li‘).hover(
	  				function(){
	  	 				 $(this).addClass(‘hover‘);
	  				},
	  				function(){
	  					 $(this).removeClass(‘hover‘);
	  				}
	  			);
	    		$(‘li‘).click(function(){
	     			 $(‘.userid‘).val($(this).text());
	     			 $(‘.listbox‘).hide();
	    		});
	 	   }
		});
		return false;
	});
});

</script>

HTML元素

<form>
  <span class="label">Enter username</span>
  <input type="text" name="userid" class="userid"/>
  <div class="listbox">
  	<div class="nameslist">
  	</div>
  </div>
</form>

后台servlet

/**
 * @author fcs
 * AutoComplete demo
 * 2014-10-25
 */
public class AutoServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String sname = request.getParameter("username");
		System.out.println("sname:"+sname);
		PrintWriter pw = response.getWriter();
		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
			PreparedStatement ps = con.prepareStatement("select name from auto where name like ‘%"+sname+"%‘");
			ResultSet rs = ps.executeQuery();
			while(rs.next()){
				pw.print("<li>"+rs.getString("name")+"</li>");
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

1.输入一个字母a,自己主动触发数据库检索,然后将结果返回到页面:

2.鼠标悬浮效果:

3.点击选中结果:

时间: 2024-08-08 22:23:57

一个模拟搜索自己主动补全的实例(超简单)的相关文章

一个模拟搜索自动补全的实例(超简单)

很早就像写一个模拟Google搜索栏自动补全的实例,那时候刚学点js,css也玩不转,即使网上有些demo,看起来也很费力.写了两次只是勉强能出来待筛选项,不能自由选择.这两天学了点jQuery的ajax,配合一点资料,自己成功实现了这个功能,jQuery的口号真是名副其实----The Write Less, Do More. CSS <style type="text/css" > .listbox{ position: relative; left: 10px; ma

Linux下新手怎样将VIM配置成C++编程环境(能够STL自己主动补全)

~ 弄拉老半天,最终弄的几乎相同啦,果然程序猿还是须要有点折腾精神啊. 首先你要安装vim,命令:sudo apt-get install vim vim它仅仅是一个编辑器,它不是IDE(比方codeblocks).IDE相当于已经给一个房子装好啦各种东西,你仅仅要使用即可.vim却要自己装各种东西,相当于买了一个毛坯房,自己要给房子装潢. 怎样安装g++编译器能够參考我上一篇博文. 1:vim的简单c++配置(语法高亮.缩进..) 在home文件夹下新.vimrc文件,.文件都是不可见的,要按

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html 创建自动补全字段 自动补全需要用到一个字段名称为suggest类型为Completion类型的一个字段 所以我们需要用

jquery autocomplete文本自己主动补全

文本自己主动补全功能确实非常有用. 先看下简单的效果:(样式不咋会写) 以下介绍几种: 1:jqery-actocomplete.js 这个网上有个写好的实例,上面挺具体的,能够下来执行下就清楚了就不多做解释 地址:http://download.csdn.net/detail/linlinv3/7744717(假设找不到资源留言找我) 2:jquery-ui.js jquery-ui.js一般系统中用,所以用这个也比較方便.注意引入包的顺序 <link href="jquery/jque

linux下让irb实现代码自己主动补全的功能

我不知道其它系统上irb是否有此功能,可是在ubuntu上ruby2.1.2自带的irb默认是没有代码自己主动补全功能的,这多少让人认为有所不便.事实上加上也非常easy,就是在irb里载入一个模块:require 'irb/completion' ,可是我们不可能每次都手动敲着一行代码,KISS和DRY哪去了? 简单的一劳永逸的方法是在~/.irbrc里加入irb执行时须要执行的代码就可以.你要问我怎么知道.irbrc文件路径的,你能够通过IRB.rc_file看到.网上还有更高级的自己主动补

四十七 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html 1.创建搜索自动补全字段suggest 自动补全需要用到一个字段名称为suggest类型为Completion类型的一个字段 所以我们需要用将前面的elasticsearch-dsl操作elasticsearch(搜索引擎)增加sugg

推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)

http://www.csdn.net/article/2014-05-04/2819586-the-best-xcode-plugins 5. KSImageNamed KSImageNamed是一款能够帮助开发者在Xcode中自动补全图片文件名称的插件,其开发者Kent Sutherland来自美国波士顿.KSImageNamed支持NSImage和UIImage,当开发者写到"[UIImage imaged:"时,便会自动将项目中的图片名称提示出来.此外,KSImageNamed

你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ?

长沙戴维营教育将为你解开这个巨大的谜团大BUG! http://www.ubuntucollege.cn/course/29/learn#lesson/354   注冊登录后课时6为你解决问题. 戴维营教育-Swift语言中文教程更新中 http://blog.diveinedu.net/category/ios_8_development/ 戴维营教育-Swift语言的github翻译项目地址: https://github.com/DiveinEdu/swift-language-in-ch

【Android】实现搜索的自动补全功能

[Android]实现搜索的自动补全功能 功能分类:特效 支持平台:Android 运行环境:Eclipse 开发语言:Java 开发工具:Eclipse 源码大小:815.56KB 下载地址:http://www.dwz.cn/x9bUV 源码简介 利用Sqlite模糊查询实现搜索框的自动补全效果(支持字母+汉字补全)欢迎各位小伙伴提供更好的实现思路 运行截图