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 Undefined,Null类型和NaN值区别
Oct 22 Javascript
JavaScript URL参数读取改进版
Jan 16 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
May 10 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
JS实现简单易用的手机端浮动窗口显示效果
Sep 07 Javascript
JS匿名函数实例分析
Nov 26 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
Vue.js 图标选择组件实践详解
Dec 03 Javascript
vue实现简单的登录弹出框
Oct 26 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 array的学习笔记
2012/05/16 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
Python open读写文件实现脚本
2008/09/06 Python
python 获取本机ip地址的两个方法
2013/02/25 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
菜鸟使用python实现正则检测密码合法性
2016/01/05 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python 调用c语言函数的方法
2017/09/29 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
extern是什么意思
2016/03/10 面试题
农田水利实习自我鉴定
2013/09/19 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
节能环保口号
2014/06/12 职场文书
授权委托书
2014/09/17 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
领导欢迎词范文
2015/01/26 职场文书
英雄儿女观后感
2015/06/09 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js
python实现双向链表原理
2022/05/25 Python