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 相关文章推荐
利用WebBrowser彻底解决Web打印问题(包括后台打印)
Jun 22 Javascript
js日期时间补零的小例子
Mar 05 Javascript
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
Oct 09 Javascript
jquery修改属性值实例代码(设置属性值)
Jan 06 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
jQuery之ajax删除详解
Feb 27 Javascript
AngularJs IE Compatibility 兼容老版本IE
Sep 01 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
vue 打包后的文件部署到express服务器上的方法
Aug 09 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
浅谈Vue组件单元测试究竟测试什么
Feb 05 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共享内存段示例分享
2014/01/20 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
JS的数组的扩展实例代码
2008/07/09 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
详解Python中的正则表达式
2018/07/08 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
python微信公众号开发简单流程实现
2020/03/09 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
python 如何对logging日志封装
2020/12/02 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
跳蚤市场口号
2014/06/13 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
教师求职信怎么写
2015/03/20 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
golang 接口嵌套实现复用的操作
2021/04/29 Golang
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
Redis数据同步之redis shake的实现方法
2022/04/21 Redis