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 相关文章推荐
HTML上传控件取消选择
Mar 06 Javascript
直接在JS里创建JSON数据然后遍历使用
Jul 25 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
Aug 20 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
Jul 21 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
Angular17之Angular自定义指令详解
Jan 21 Javascript
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
基于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 Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
基于empty函数的输出详解
2013/06/17 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Python多线程thread及模块使用实例
2020/04/28 Python
8种常用的Python工具
2020/08/05 Python
自荐信包含哪些内容
2013/10/30 职场文书
关于责任的演讲稿
2014/05/20 职场文书
参赛口号
2014/06/16 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS