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 相关文章推荐
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
vue中如何引入jQuery和Bootstrap
Apr 10 jQuery
jQuery手风琴的简单制作
May 12 jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
webpack写jquery插件的环境配置
Dec 21 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
分享PHP守护进程类
2015/12/30 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
Python序列循环移位的3种方法推荐
2018/04/09 Python
浅谈python标准库--functools.partial
2019/03/13 Python
解决yum对python依赖版本问题
2019/07/05 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
django rest framework使用django-filter用法
2020/07/15 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
会计专业导师推荐信
2014/03/08 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
2015年信访工作总结
2015/04/07 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
毕业感言怎么写
2015/07/31 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
pytorch Dropout过拟合的操作
2021/05/27 Python