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 相关文章推荐
Jquery通过Ajax访问XML数据的小例子
Nov 18 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
浅谈如何实现easyui的datebox格式化
Jun 12 Javascript
jquery层级选择器的实现(匹配后代元素div)
Sep 05 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
node实现简单的反向代理服务器
Jul 26 Javascript
深入理解Angular4订阅(Subscribe)与取消
Nov 22 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 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
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python 除法保留两位小数点的方法
2018/07/16 Python
python模糊图片过滤的方法
2018/12/14 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
幼儿园消防演练方案
2014/02/13 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
满月酒邀请函
2015/01/30 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android
python运行脚本文件的三种方法实例
2022/06/25 Python