jquery UI实现autocomplete在获取焦点时得到显示列表功能示例


Posted in jQuery onJune 04, 2019

本文实例讲述了jquery UI实现autocomplete在获取焦点时得到显示列表功能。分享给大家供大家参考,具体如下:

在做项目的时候,客户有这样的需求,将以前输入过的内容,在某个文本框上用列表的形式提示出来,可以选择,换言之,就如同我们用谷歌搜索,或者百度搜索一样,输入一些关键词,会自动提示,这个功能就叫autocomplete. 当然在 jquery  UI  下有 插件,具体下载的地方,搜索就知道了。重点是,我现在的用法,是需要在文本框获取焦点的时候,就弹出待选择的列表。而传统的是必须在输入文字之后才出现。经过发现,jquery ui autocomplete 用如下方法可以实现

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>jQuery UI Autocomplete - Categories</title>
 <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" rel="external nofollow" >
 <script src="../../jquery-1.9.1.js"></script>
 <script src="../../ui/jquery.ui.core.js"></script>
 <script src="../../ui/jquery.ui.widget.js"></script>
 <script src="../../ui/jquery.ui.position.js"></script>
 <script src="../../ui/jquery.ui.menu.js"></script>
 <script src="../../ui/jquery.ui.autocomplete.js"></script>
 <link rel="stylesheet" href="../demos.css" rel="external nofollow" >
 <style>
 .ui-autocomplete-category {
  font-weight: bold;
  padding: .2em .4em;
  margin: .8em 0 .2em;
  line-height: 1.5;
 }
 </style>
 <script>
  var data = [
   { label: "anders", category: "" },
   { label: "andreas", category: "" },
   { label: "antal", category: "" },
   { label: "annhhx10", category: "Products" },
   { label: "annk K12", category: "Products" },
   { label: "annttop C13", category: "Products" },
   { label: "anders andersson", category: "People" },
   { label: "andreas andersson", category: "People" },
   { label: "andreas johnson", category: "People" }
  ];
  function dynamicAutocomplete(){
   $("#search").autocomplete({
    delay:200,
    autoFocus: false,
   source: data,
   minLength: 0,
   }).focus(function () {
    $(this).autocomplete("search");
   });
  }
 </script>
</head>
<body>
<button onclick="dynamicAutocomplete()">autocomplete</button> <br />
<label for="search">Search: </label>
<input id="search">
<div class="demo-description">
<p>A categorized search result. Try typing "a" or "n".</p>
</div>
</body>
</html>

代码来源于官网例子,稍稍改动了一下,但貌似在IE 下有点问题,选择某个选项之后,这个列表框不消失,还一直存在,比较郁闷。

在google 上搜索了一下,发现了一篇文章,也讲到了这个问题。后来用如下方法解决,不过是失去焦点的方式做的。

function dynamicAutocomplete(){
   $("#search").autocomplete({
   minLength: 0,
   source: data,
    focus :function () {
     return false;
    },
    select: function(event, ui){
    $this = $(this);
   setTimeout(function () {
    $this.blur();
    }, 1);
   }
   }).focus(function(){
     $(this).autocomplete("search");
     return false;
   }
  );
 };

在ie 下面用了timeout 来解决,在网上看到很多人说,在focus  方法中 return false 就可以解决,但我就是没有测试成功.

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
Angular2使用jQuery的方法教程
May 28 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
Jquery实现获取子元素的方法分析
Aug 24 jQuery
jQuery实现日历效果
Sep 11 jQuery
jquery实现拖拽添加元素功能
Dec 01 jQuery
jQuery+ajax实现文件上传功能
Dec 22 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 #jQuery
一文快速了解JQuery中的AJAX
May 31 #jQuery
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 #jQuery
jQuery模拟html下拉多选框的原生实现方法示例
May 30 #jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 #jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 #jQuery
jquery操作select常见方法大全【7种情况】
May 28 #jQuery
You might like
PHP学习之PHP表达式
2006/10/09 PHP
PHP学习 变量使用总结
2011/03/24 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python 多进程和数据传递的理解
2017/10/09 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
法学求职信
2014/06/22 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
物业公司管理制度
2015/08/05 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript