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+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 jQuery
jQuery实现全选、反选和不选功能
Aug 16 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
jQuery UI实现动画效果代码分享
Aug 19 jQuery
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
jquery实现下载图片功能
Jul 18 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
jQuery实现飞机大战小游戏
Jul 05 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
jqTransform美化表单
2015/10/10 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
财务会计专业毕业生自荐信
2013/10/02 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
我的祖国演讲稿
2014/05/04 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书