Jquery实现类似百度的搜索框
最近工作中需要做一个搜索框,类似百度的搜索框,需要达到两个功能:
1.输入关键字,展示匹配的下拉列表
2.选择匹配的项后查出相关内容
一般电商网站中也经常用到该搜索条,首先分析功能实现,输入关键字马上显示匹配项列表,实现该功能输入框需要绑定"input"事件,然后向后台发送异步请求,将数据展示在页面上。使用鼠标或上下键选择匹配项,点击搜索或"Enter"键后搜索具体结果。这里要用到两个异步请求,第一个请求匹配项,第二个请求搜索结果。键盘,鼠标以及输入框的事件都要监听到,还必须考虑到灵活性,也就是适应各种类似需求,想做好还是有一些难度的,下面分布进行实现。
一.html和css
<body>
<div id="search-form"></div>
</body>
<style type="text/css">
*{margin:;padding:;list-style:none;border:none;}
body {
font-family: "microsoft yahei" !important;
background-color: #FDFFE0;
}
:focus {
outline: none;
}
#search-form {
position: relative;
top: 50px;
display: inline;
}
</style>
二.导入css和js文件
由于博客上传不了文件,可以去我的git:http://git.oschina.net/manliu.com/search_frame上有完整的项目文件
三.页面引用js
<script type="text/javascript">
var proposals = ['百度1', '百度2', '百度3', '百度4', '百度5', '百度6', '百度7','17素材网','百度','新浪']; $(document).ready(function(){
$('#search-form').complete({
searchIn:function(val){//传入输入值,返回匹配值
/* var reg = /^[\u4F00-\u9FA5\uF900-\uFA2D]/;
return reg.test(val); */
var word = "^"+val+".*";
var rs = [];
$.each(proposals,function(i,n){
if(n.match(word)){
rs.push(n);
}
});
return rs;
},
width:400,
height: 30,
submitIn: function(text){//搜索选定的值
alert(text);
}
});
});
</script> 这里searchIn方法用于返回匹配项,通常在里面定义一个异步请求,向后台取数据,返回一个数组,对于复杂的还需要修改源码;submitIn用于搜索匹配的结果,一般可异步请求也可同步请求。
Jquery实现类似百度的搜索框的更多相关文章
- ajax+JQuery实现类似百度智能搜索框
最近再学习ajax,上课老师让我们实现一个类似百度首页实现搜索框的功能,刚开始做的时候没有一点头绪,查阅大量网上的资源后,发现之前的与我们现在的有些区别,所以在此写出来,希望能对大家有所帮助. 下面先 ...
- 分享一个jquery写的类似于百度的搜索框,(可动态配置,可单列或者table格式,可填充数据)
需求:类似于百度的搜索框,可配置,可单列可table格式,可填充数据.页面可多次使用,简单,易用. 想法:使用jquery,css,ajax,前台调用,后台返回json数据. jquery代码: va ...
- js/jQuery实现类似百度搜索功能
一.页面代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...
- jQuery+HTML5弹出创意搜索框层
效果体验:http://hovertree.com/texiao/jquery/26/ 本效果适用于移动设备,可以使用手机等浏览效果. 代码下载:http://hovertree.com/h/bjaf ...
- 使用jQuery和CSS3生成的搜索框变形全屏搜索效果
在线演示 本地下载 使用jQuery和CSS3过渡变形效果生成的一个搜索框变形效果实现,可以帮助你更好利用页面格式和内容.实验性质的代码,请大家在产品环境里自己修改使用!
- js 百度云搜索框
// ==UserScript==// @name 百度云插件+APIKey// @namespace // @version 5.0.2.1// @description 在百度云网盘的页面添加一个 ...
- AJAX实现类似百度的搜索提示,自动补全和键盘、鼠标操作
<script type="text/javascript"> $(document).ready(function(){ var highlightIndex = - ...
- 使用jqueryUI和corethink实现的类似百度的搜索提示
代码:http://download.csdn.net/detail/u012995856/9676845 效果: 目录: 这里是以corethink模块的形式,只需要安装上访问 index.php? ...
- Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)
此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkTe ...
随机推荐
- Python3 Selenium自动化web测试 ==> 第八节 WebDriver高级应用 -- 结束Windows中浏览器的进程
学习目的: 掌握WebDriver的高级应用 正式步骤: # -*- coding:utf-8 -*- from selenium import webdriver from selenium.web ...
- 开启phoenix命名空间的自动映射
1.在测试环境 hbase 全部集群的 hbase-site.xml 配置文件都加上这个配置,开启phoenix命名空间的自动映射 <property> <name>phoen ...
- python 删除文件或文件夹
os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir(). remove() 同 unlink() 的功能是一样的 ...
- Power Management of Hybrid DRAM/PRAM-Based Main Memory
0.ABSTRACT (1)non-volatile memory——low standby power DRAM——high performance and better active power ...
- PYTHON 100days学习笔记007-1:python数据类型补充(1)
目录 day007:python数据类型补充(1) 1.数字Number 1.1 Python 数字类型转换 1.2 Python 数字运算 1.3 数学函数 1.4 随机数函数 1.5 三角函数 1 ...
- 简单的搭载Spring cloud框架
大家不懂的可以在评论区给我留言
- Servlet中获取POST请求的参数
在servlet.filter等中获取POST请求的参数 form表单形式提交post方式,可以直接从 request 的 getParameterMap 方法中获取到参数 JSON形式提交post方 ...
- Oracle同时插入多条数据
INSERT ALL INTO 表名(NAME) VALUES ('tony') INTO 表名(NAME) VALUES ('tony2') INTO 表名(NAME) VALUES ('tony3 ...
- MySql查看时间
select now();命令查看MySql时间(包括时分秒) select current_date();命令查看MySql时间(不包括时分秒) 在代码中,创建时间.修改时间字段的jdbc语句也可以 ...
- C++常用数据类型和Windows常见数据类型
一.C++基本的内置类型 C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型.下表列出了七种基本的 C++ 数据类型: 类型 关键字 布尔型 bool 字符型 char 整型 int ...