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 相关文章推荐
javascript 面向对象思想 附源码
Jul 07 Javascript
javascript真的不难-回顾一下基础知识
Jan 15 Javascript
nullJavascript中创建对象的五种方法实例
May 07 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
Node.js中常规的文件操作总结
Oct 13 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
Oct 26 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 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
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php简单日历函数
2015/10/28 PHP
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
保安岗位职责
2014/02/21 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS