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中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
jQuery插件jsonview展示json数据
May 26 jQuery
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
jquery实现直播视频弹幕效果
Feb 25 jQuery
深入分析jQuery.one() 函数
Jun 03 jQuery
jQuery实现图片切换效果
Oct 19 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 empty函数报错解决办法
2014/03/06 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
jquery json 实例代码
2010/12/02 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
html5 视频播放解决方案
2016/11/06 HTML / CSS
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
机械绘图员岗位职责
2013/11/19 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
ktv好的活动方案
2014/08/17 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
《穷人》教学反思
2016/02/19 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
php去除deprecated的实例方法
2021/11/17 PHP