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 相关文章推荐
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
jQuery zTree树插件动态加载实例代码
May 11 jQuery
jQuery遮罩层实例讲解
May 11 jQuery
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
jquery+css3实现熊猫tv导航代码分享
Feb 12 jQuery
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
JQuery插件tablesorter表格排序实现过程解析
May 28 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在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
详解Django框架中用context来解析模板的方法
2015/07/20 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
如何利用python 读取配置文件
2021/01/06 Python
thinkphp5 路由分发原理
2021/03/18 PHP
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
电子商务专业实习生自我鉴定
2013/09/24 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
人力资源部岗位职责
2015/02/11 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python