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 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
JS window.opener返回父页面的应用
Oct 24 Javascript
node.js中的fs.readlink方法使用说明
Dec 17 Javascript
理解javascript回调函数
Dec 28 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
Oct 15 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
基于javascript实现动态显示当前系统时间
Jan 28 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
js指定步长实现单方向匀速运动
Jul 17 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
Sep 28 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 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
PHP页面中文乱码分析
2013/10/29 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
初识Javascript小结
2015/07/16 Javascript
一分钟理解js闭包
2016/05/04 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
python查询sqlite数据表的方法
2015/05/08 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python切片操作实例分析
2018/03/16 Python
Python文件读写常见用法总结
2019/02/22 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
新书发布会策划方案
2014/06/09 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
初婚未育证明样本
2015/06/18 职场文书
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python