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 相关文章推荐
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
动态的绑定事件addEventListener方法的使用
Jan 24 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
Oct 18 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
Vue实现数据请求拦截
Oct 23 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
vue+Element-ui前端实现分页效果
Nov 15 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 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
JavaScript中的类继承
2010/11/25 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
Javascript的比较汇总
2016/07/25 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
python代码制作configure文件示例
2014/07/28 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Python实现自动上京东抢手机
2018/02/06 Python
Django添加sitemap的方法示例
2018/08/06 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
婚庆公司的创业计划书
2014/01/22 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
元旦促销方案
2014/03/15 职场文书
安全目标责任书
2014/07/22 职场文书
领导班子四风表现材料
2014/08/23 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
Javascript之datagrid查询详解
2021/09/15 Javascript