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解析获取JSON数据
Apr 08 jQuery
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
jQuery实现简单聊天室
Feb 08 jQuery
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
ajax jquery实现页面某一个div的刷新效果
Mar 04 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 反向排序和随机排序代码
2010/06/30 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
获取URL文件名后缀
2013/10/24 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
nginx 设置多个站跨域
2021/03/09 Servers
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
Python中关于浮点数的冷知识
2019/09/22 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
毕业生就业自荐书
2013/12/15 职场文书
人事专员的岗位职责
2014/03/01 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
起诉状范本
2015/05/20 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
创业计划书之面包店
2019/09/12 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python