jQuery的搜索关键词自动匹配插件
相信许多人都会用过搜索栏自动匹配关键词的功能,无论是像google的专业搜索引擎,还是普通的网站,现在许多都用上了这种关键词匹配技术,本文介绍的用jQuery实现的关键词匹配技术,当然要整合到自己的系统中还需要链接后台的代码。
在现在的Web设计中,提高用户体验是企业最为注重的内容之一。在搜索表单中,根据输入的部分内容进行关键字匹配提示功能,就是最直观和常用的交互体验,类似功能已经被多数的互联网网站应用。例如Google的搜索框效果如下:
这里介绍一个jQuery实现搜索关键字自动匹配提示方法。jQuery AutoComplete 是一个基于jQuery实现搜索关键词自动匹配提示的插件,该插件可扩展性强,表现性能优越,方便整合到自己的项目中使用;兼容IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, and Chrome 1.0+ 等主流浏览器。
演示效果:http://www.devbridge.com/projects/autocomplete/jquery/#demo
下面是具体的使用方法:
1,使用设置
首页,要把插件的js代码嵌入到你自己的项目中去。
1
2
|
< script src = "jquery.js" type = "text/javascript" > <!--mce:0--> </ script > < script src = "jquery.autocomplete.js" type = "text/javascript" > <!--mce:1--> </ script > |
2,使用方法
为要实现自动匹配提示的 input 表单添加 AutoComplete 功能。
1
|
< input id = "query" name = "q" /> |
初始化 AutoComplete 对象,确保正确加载 DOM 对象,否则IE下的用户可能会出现错误。
1
2
3
4
5
6
7
8
9
10
11
12
|
$( '#query' ).autocomplete({ serviceUrl: 'service/autocomplete.ashx' , // Page for processing autocomplete requests minChars: 2, // Minimum request length for triggering autocomplete delimiter: /(,|;)\s*/, // Delimiter for separating requests (a character or regex) maxHeight: 400, // Maximum height of the suggestion list, in pixels width: 300, // List width zIndex: 9999, // List's z-index deferRequestBy: 0, // Request delay (milliseconds), if you prefer not to send lots of requests while the user is typing. I usually set the delay at 300 ms. params: { country: 'Yes '}, // Additional parameters onSelect: function(data, value){ }, // Callback function, triggered if one of the suggested options is selected, lookup: [' January ', ' February ', ' March'] // List of suggestions for local autocomplete }); |
根据文本表单中的输入信息,进行关键字提示匹配。
1
2
3
4
5
|
{ query: 'Li' , // Original request suggestions:[ 'Liberia' , 'Libyan Arab Jamahiriya' , 'Liechtenstein' , 'Lithuania' ], // List of suggestions data:[ 'LR' , 'LY' , 'LI' , 'LT' ] // Optional parameter: list of keys for suggestion options; used in callback functions. } |
jQuery AutoComplete 插件支持 on/off功能,从而控制效果的开关。
1
2
3
4
|
var ac = $( '#query' ).autocomplete({ /*parameters*/ }); ac.disable(); ac.enable(); ac.setOptons({ zIndex: 1001 }); |
3,设置表现样式
最后,用div和css美化表现效果。
1
2
3
4
5
6
7
8
|
< div class = "autocomplete-w1" > < div id = "Autocomplete_1240430421731" class = "autocomplete" style = "width: 299px;" > < div >< strong >Li</ strong >beria</ div > < div >< strong >Li</ strong >byan Arab Jamahiriya</ div > < div >< strong >Li</ strong >echtenstein</ div > < div class = "selected" >< strong >Li</ strong >thuania</ div > </ div > </ div > |
1
2
3
4
5
|
.autocomplete-w 1 { background : url (img/shadow.png) no-repeat bottom right ; position : absolute ; top : 0px ; left : 0px ; margin : 6px 0 0 6px ; /* IE6 fix: */ _background : none ; _margin : 1px 0 0 0 ; } .autocomplete { border : 1px solid #999 ; background : #FFF ; cursor : default ; text-align : left ; max-height : 350px ; overflow : auto ; margin : -6px 6px 6px -6px ; /* IE6 specific: */ _height : 350px ; _margin : 0 ; _overflow-x: hidden ; } .autocomplete .selected { background : #F0F0F0 ; } .autocomplete div { padding : 2px 5px ; white-space : nowrap ; overflow : hidden ; } .autocomplete strong { font-weight : normal ; color : #3399FF ; } |
jQuery AutoComplete 插件官方链接
插件介绍: www.devbridge.com/projects/autocomplete/jquery/
插件下载: www.devbridge.com/projects/autocomplete/jquery/#download
这里还有一种基于MooTools框架的关键字自动匹配提示方法:
MooTools: www.ajaxdaddy.com/mootools-autocomplete.html
jQuery的搜索关键词自动匹配插件的更多相关文章
- 弹窗中使用jquery ui的autocomplete自动完成插件无效果 实际是被遮挡了
在普通页面上使用jquery ui的autocomplete自动完成插件时正常显示提供选择的下拉框,但是放到弹窗中的时候就无法显示这个选择的下拉框,其它效果正常: 估计是被弹出窗遮挡了,网络搜索了jq ...
- Combo Select – jQuery可搜索下拉框插件
今天用到另一款jq插件..插件就是无脑,,引入相关文件,开始撸吧 引入相关文件: <link href="~/Scripts/combo-select/combo.select.css ...
- java_前端_autocomplete_搜索框自动匹配提示
效果图: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> < ...
- 30+最佳Ajax jQuery的自动完成插件的例子
在这篇文章中,我们将介绍35个jQuery AJAX的自动完成提示例子. jQuery 的自动完成功能,使用户快速找到并选择一定的价值.每个人都想要快速和即时搜索输入栏位,因为这个原因,许 流行的搜索 ...
- jquery 实现邮箱输入自动提示功能:(二)
上篇文章写到了一个不错的jquery实现邮箱输入自动提示功能,发现还有一个不错的自动提示插件: 先展示结果如图: html代码: <center> <h1>输入邮箱试试!< ...
- ThinkPHP自动获取关键词(调用第三方插件)
ThinkPHP自动获取关键词调用在线discuz词库 先按照下图路径放好插件 方法如下 /** * 自动获取关键词(调用第三方插件) * @return [type] [description] * ...
- chosen.jquery.js 搜索框只能从头匹配的解决思路+方法
chosen.jquery.js 搜索框只能从头匹配的解决思路+方法 心急者请直接看下方 总结 ,由于本问题未能找到直接答案,所以只能通过修改源码解决.故将修改源码思路贴出来供大家参考,在遇到其他改源 ...
- 使用jQuery Autocomplete(自动完成)插件
jQuery 的Autocomplete(自动完成.自动填充)插件有不少,但比较下来我感觉,还是bassistance.de 的比较强大,我们就来写一些代码感受一下. 最简单的Autocomplete ...
- 转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果
是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题 ...
随机推荐
- 文件系统层级结构标准(FHS)
参考资料:FHS 简介 FHS目前发展到3.0版本,发布于2015年6月3日,由Linux基金会在负责维护.它规定了Linux的文件层级结构,使得各Linux发行版.软件开发商知道应该将哪些文件放在哪 ...
- MacBook Apache服务
想着如何在Mac OS下部署静态网页(纯粹的html,css,js),用惯了windows下的iis,可惜Mac OS下也许只能通过Tomcat或者Apache之类的作为部署容器.听说Mac OS下自 ...
- python学习笔记 - for循环: 遍历字典, 分别打印key, value, key:value
#遍历字典, 分别打印key, value, key:value emp = {'name':'Tom', 'age':20, 'salary' : 8800.00} for k in emp.key ...
- [ 原创 ] Java基础6--构造函数和抽象类的性质
构造函数的性质 // A.方法名与类名相同: // B.没有返回类型(例如return.void等):// C.不能被static.final.native.abstract和synchronized ...
- 【动态规划+Floyd】OpenJudge3368
OpenJudge上刷水都不会了……这题居然写了一个半小时…… [题目大意] 诸葛亮要征服N城市.然而,City-X在击败City-2,City-3……City-x-1后击败.关羽,张飞,赵云,每个人 ...
- 压缩的问题-----WriteUp
原题:http://ctf5.shiyanbar.com/crypto/winrar/ 526172211A0700CF907300000D0000000000000056947424965E 006 ...
- HDU 3282 Running Median 动态中位数,可惜数据范围太小
Running Median Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...
- JavaScript Promises
上篇文章介绍了JavaScript异步机制,请看这里. JavaScript异步机制带来的问题 JavaScript异步机制的主要目的是处理非阻塞,在交互的过程中,会需要一些IO操作(比如Ajax请求 ...
- Android Binder分析二:Natvie Service的注冊
这一章我们通过MediaPlayerService的注冊来说明怎样在Native层通过binder向ServiceManager注冊一个service,以及client怎样通过binder向Servi ...
- ASP.NET MVC中的Session以及处理方式
最近在ASP.NET MVC项目中碰到这样的情况:在一个controller中设置了Session,但在另一个controller的构造函数中无法获取该Session,会报"System.N ...