jQuery实现用户输入自动完成功能


Posted in Javascript onFebruary 13, 2017

利用jQuery UI中Auto-complete插件实现输入自动完成功能,大家在使用诸如淘宝、京东等电商平台搜索商品时,往往只要输入商品的一些特殊字符,就可以显示出和该字符相近的列表菜单,用户使用鼠标或者键盘方向键就可以快速选择,实现了很好的用户体验。

1.最简单的用户输入自动完成

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>jQuery UI Autocomplete - Default functionality</title>
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="external nofollow" >
 <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
 <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
 <script>
 $(function() {
 //定义并初始化字典库数据源集合
 var availableTags = [
 "ActionScript",
 "AppleScript",
 "Asp",
 "BASIC",
 "C",
 "C++",
 "Clojure",
 "COBOL",
 "ColdFusion",
 "Erlang",
 "Fortran",
 "Groovy",
 "Haskell",
 "Java",
 "JavaScript",
 "Lisp",
 "Perl",
 "PHP",
 "Python",
 "Ruby",
 "Scala",
 "Scheme"
 ];
 //自动完成插件函数
 $( "#tags" ).autocomplete({
 //自动完成字典库数据源
 source: availableTags
 });
 });
 </script>
</head>
<body>
<div class="ui-widget">
 <label for="tags">请输入: </label>
 <input id="tags">
</div>
</body>
</html>

2 使用远程数据源自动完成

Auto-complete插件不光可以实现本地数据源的自动完成,也可以读取远程的数据源,列如实现从服务器端读取数据源信息。

通过将服务器数据缓存到浏览器中,获取的数据源首先保存在cache变量中。

$(function() {
 //自定义缓存变量
 var cache = {};
 //自动完成插件函数
 $("#tags").autocomplete({
 //定义用户最少输入的字符数
 minLenght: 2,
 source: function(request, response){//定义远程获取数据源函数
 var term = request.term;//定义用户请求信息变量
 if(term in cache) {//判断请求数据是否存在缓存中
 response(cache[term]);//真,从缓存中读取数据
 return;
 }
 $.getJSON('data.json', request, function(data, Status, xhr) {
 cache[term] = data.result;//缓存远程数据
 response(data.result);
 });
 }
 });
 });

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
如何快速的呈现我们的网页的技巧整理
Jul 01 Javascript
jquery中文乱码的多种解决方法
Jun 21 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
Dec 06 Javascript
JavaScript学习笔记之JS对象
Jan 22 Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
详解在React里使用&quot;Vuex&quot;
Apr 02 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
浅谈vue首屏加载优化
Jun 28 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
微信小程序 详解页面跳转与返回并回传数据
Feb 13 #Javascript
微信小程序 this和that详解及简单实例
Feb 13 #Javascript
脚本div实现拖放功能(两种)
Feb 13 #Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 #Javascript
判断横屏竖屏(三种)
Feb 13 #Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 #Javascript
jQuery实现大图轮播
Feb 13 #Javascript
You might like
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
Python爬虫框架Scrapy实例代码
2018/03/04 Python
python实现停车管理系统
2018/11/30 Python
详解Python 切片语法
2019/06/10 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
python数字类型math库原理解析
2020/03/02 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
大一期末自我鉴定
2013/12/13 职场文书
旅游管理专业生自荐信范文
2014/01/02 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
学校消防安全责任书
2014/07/23 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python