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 相关文章推荐
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
jQuery zTree树插件动态加载实例代码
May 11 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jquery+ajaxform+springboot控件实现数据更新功能
Jan 22 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
jQuery实现获取多选框的值示例
Feb 07 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将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
学习php中的正则表达式
2014/08/17 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
node网页分段渲染详解
2016/09/05 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
python3实现字符串操作的实例代码
2019/04/16 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
python读文件的步骤
2019/10/08 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
文明学生事迹材料
2014/01/29 职场文书
村班子对照检查材料
2014/08/18 职场文书
超市开店计划书
2014/09/15 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
公司董事任命书
2015/09/21 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android