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滚动插件scrollable.js用法分析
May 25 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
jquery插件实现轮播图效果
Oct 19 jQuery
jQuery实现移动端扭蛋机抽奖
Nov 08 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 URL验证正则表达式
2011/07/19 PHP
浅析php原型模式
2014/11/25 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
Python写的Socks5协议代理服务器
2014/08/06 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python实现简单多线程任务队列
2016/02/27 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python使用turtle库绘制时钟
2020/03/25 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python输入多行字符串的方法总结
2019/07/02 Python
简单了解python PEP的一些知识
2019/07/13 Python
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
货代行业个人求职简历的自我评价
2013/10/22 职场文书
商务英语本科生的自我评价分享
2013/11/15 职场文书
八项规定整改措施
2014/02/12 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
表彰会主持词
2014/03/26 职场文书
应急管理培训方案
2014/06/12 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
副总经理岗位职责
2015/02/02 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS
DSP接收机前端设想
2022/04/05 无线电