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 相关文章推荐
如何判断元素是否为HTMLElement元素
Dec 06 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
原生js制作简单的数字键盘
Apr 24 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
Node.js中常规的文件操作总结
Oct 13 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
Easyui使用Dialog行内按钮布局的实例
Jul 27 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 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获取网页内容方法总结
2008/12/04 PHP
服务器web工具 php环境下
2010/12/29 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
用原生js做单页应用
2017/01/17 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
浅谈python中的正则表达式(re模块)
2017/10/17 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
如何基于线程池提升request模块效率
2020/04/18 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
《一件运动衫》教学反思
2014/02/19 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
运动会1000米加油稿
2015/07/21 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL