Jquery插件仿百度搜索关键字自动匹配功能


Posted in Javascript onMay 11, 2016

本文实例为大家分享了Jquery搜索关键字自动匹配功能的实现代码,供大家参考,具体内容如下
jQuery AutoComplete 是一个基于jQuery实现搜索关键字自动匹配提示的插件,该插件可扩展性强,表现性能优越,方便整合到自己的项目中使用;兼容IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, and Chrome 1.0+ 等主流浏览器。

下面是具体的使用方法:

1、使用设置

首页,要把插件的js代码嵌入到你自己的项目中去。

<script src="jquery.js" type="text/javascript"><!--mce:0--></script><script src="jquery.autocomplete.js" type="text/javascript"><!--mce:1--></script>

2、使用方法

为要实现自动匹配提示的 input 表单添加 AutoComplete 功能。

<input id="query" name="q" />

初始化 AutoComplete 对象,确保正确加载 DOM 对象,否则IE下的用户可能会出现错误。

$('#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 });

根据文本表单中的输入信息,进行关键字提示匹配。

{ 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功能,从而控制效果的开关。

var ac = $('#query').autocomplete({ /*parameters*/ }); ac.disable(); ac.enable(); ac.setOptons({ zIndex: 1001 });

3、设置表现样式
最后,用div和css美化表现效果。

<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> .autocomplete-w1 { 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; }

4、实例讲解

<html>
<head>
 <title></title>
 <style type="text/css">
 #txtKey{ width:300px;}
 </style>
 <link href="css/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
 <script src="Jquery1.7.js" type="text/javascript"></script>
 <script src="js/jquery.autocomplete.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(function () {
   var array = ['asp.net', 'asp.net mvc', 'wcf', 'wpf', 'win8', 'windows phone', '张东', '张熙', '张亚飞'];
   /*autocomplete函数
   (1)获取txtKey中用户输入的值(用户每输入一个字符,都会获取一次)
   (2)将获取的值和array集合中的元素进行比较,找出匹配的元素,并显示出来
   (3)会将用户选择的项添加到txtKey中*/
   /*result函数:对用户选择的结果进行操作。data参数表示用户选择的项*/
   $('#txtKey').autocomplete(array).result(function (event, data) { window.location.href = 'http://www.baidu.com/s?wd=' + data + '&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-8&rsv_sug3=6&rsv_sug=0&rsv_sug1=3&rsv_sug4=229&inputT=1458'; })
  })
 </script>
</head>
<body>
 <input id="txtKey" type="text" /><input id="Button1" type="button" value="百度一下" />
 <input id="Text1" type="text" />
</body>
</html>

实现效果如下:

Jquery插件仿百度搜索关键字自动匹配功能

以上就是关于jQuery AutoComplete使用方法介绍,通过完整示例为大家展示jQuery AutoComplete使用效果,希望对大家的学习有所帮助。

Javascript 相关文章推荐
关于javascript document.createDocumentFragment()
Apr 04 Javascript
jquery 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
HTML Dom与Css控制方法
Oct 25 Javascript
JS限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
JS遍历数组及打印数组实例分析
Jan 21 Javascript
Bootstrap3学习笔记(二)之排版
May 20 Javascript
浅谈jquery点击label触发2次的问题
Jun 12 Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 Javascript
Node.js连接mongodb实例代码
Jun 06 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 #Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 #Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
May 11 #Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
May 11 #Javascript
使用JavaScript实现ajax的实例代码
May 11 #Javascript
jQuery的框架介绍
May 11 #Javascript
jQuery链式调用与show知识浅析
May 11 #Javascript
You might like
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
range 标准化之获取
2011/08/28 Javascript
javascript中Object使用详解
2015/01/26 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
JavaScript&quot;模拟事件&quot;的注意要点详解
2019/02/13 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
绩效管理实施方案
2014/03/19 职场文书
致共产党员倡议书
2014/04/16 职场文书
分公司任命书
2014/06/06 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2014年销售员工作总结
2014/12/01 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
数据库连接池
2021/04/06 MySQL
MySQL infobright的安装步骤
2021/04/07 MySQL
详解Laravel服务容器的优势
2021/05/29 PHP
分享几种python 变量合并方法
2022/03/20 Python
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技
Python之matplotlib绘制饼图
2022/04/13 Python
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS