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正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
jQuery ajax调用webservice注意事项
Oct 08 jQuery
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
jQuery实现弹出层效果
Dec 10 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
Jquery高级应用Deferred对象原理及使用实例
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
福利彩票幸运号码自动生成器
2006/10/09 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
python迭代器的使用方法实例
2013/11/21 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
Python如何测试stdout输出
2020/08/10 Python
python opencv实现图像配准与比较
2021/02/09 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
什么是接口(Interface)?
2013/02/01 面试题
材料工程专业毕业生求职信
2014/03/04 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技
python解析照片拍摄时间进行图片整理
2022/07/23 Python