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字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 Javascript
微信小程序新闻网站详情页实例代码
Jan 10 Javascript
js实现轮播图效果 z-index实现轮播图
Jan 17 Javascript
基于javascript实现日历功能原理及代码实例
May 07 Javascript
Element InfiniteScroll无限滚动的具体使用方法
Jul 27 Javascript
google广告之另类js调用实现代码
Aug 22 Javascript
一篇超完整的Vue新手入门指导教程
Nov 18 Vue.js
微信小程序 详解页面跳转与返回并回传数据
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
第五节 克隆 [5]
2006/10/09 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP比你想象的好得多
2014/11/27 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
PHP钩子实现方法解析
2019/05/21 PHP
sina的lightbox效果。
2007/01/09 Javascript
ext监听事件方法[初级篇]
2008/04/27 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
python二叉树的实现实例
2013/11/21 Python
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
财务会计专业求职信范文
2013/12/31 职场文书
军训心得体会
2013/12/31 职场文书
中学生操行评语大全
2014/04/24 职场文书
临时租车协议范本
2014/09/23 职场文书
暖春观后感
2015/06/08 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python