一、功能

根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择。

官网地址:http://jqueryui.com/autocomplete/

二、使用

1、引入文件

<link rel="stylesheet" href="css/jquery-ui.css">
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/jquery-ui.js"></script>

2、html代码:

<div class="ui-widget"><label for="tags">Tags: </label><input id="tags">
</div>

3、js代码:

$( function() {var availableTags = ["ActionScript","AppleScript","Asp","BASIC","C","C++","Clojure","COBOL","ColdFusion","Erlang","Fortran","Groovy","Haskell","Java","JavaScript","Lisp","Perl","PHP","Python","Ruby","Scala","Scheme"];$( "#tags" ).autocomplete({source: availableTags});
} );

4、自定义下拉菜单高度:修改jquery.ui.css,添加红色标注部分代码

.ui-autocomplete {position: absolute;top: 0;left: 0;cursor: default; overflow-y: auto;    overflow-x: hidden;max-height: 230px;
}

三、API

1、键盘输入

当下拉菜单展开时,可以使用下列键盘命令:

UP:将焦点移至上一个选项

DOWN:将焦点移至下一个选项

ESCAPE:关闭下拉菜单

ENTER:选择下拉菜单中当前处于焦点的选项并关闭下拉菜单

TAB:选择下拉菜单中当前处于焦点的选项,关闭下拉菜单并将焦点移至下一个可聚焦的元素

PAGE UP/PAGE DOWN:将焦点置顶/置底

当下拉菜单关闭时,可以使用下列键盘命令:

UP/DOWN:展开下拉菜单,如果minLength属性已定义

2、属性

2.1 appendTo:下拉菜单被添加至哪个元素,默认值为input标签的class为"ui-front"祖先元素

初始化代码:

$( ".selector" ).autocomplete({appendTo: "#someElem"
});

2.2  autoFocus:设置为true值时,当下拉菜单展开时第一个选项将自动获取焦点

$( ".selector" ).autocomplete({autoFocus: true
});

2.3 delay:延迟时间,单位为毫秒

$( ".selector" ).autocomplete({delay: 500
});

2.4 disabled:禁用插件,默认值为false

$( ".selector" ).autocomplete({disabled: true
});

2.5 minLength:展示下拉菜单需要的最小输入字符数

$( ".selector" ).autocomplete({minLength: 0
});

2.6 source:

类型:Array,String,Function

默认值:无,必须指定

Array:数组可以被使用为本地数据

字符串数组:["Choice1","Choice2"],

有label和value属性的对象数组:[{label:"Choice1",value:"value1"},...]

String:指向一个可以转换为JSON数据的URL

$( ".selector" ).autocomplete({source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
});

3、方法Methods

3.1 close():关闭下拉菜单

$( ".selector" ).autocomplete( "close" );

3.2 destroy():彻底移除自动完成插件功能

$( ".selector" ).autocomplete( "destroy" );

3.3 disable():禁用插件

$( ".selector" ).autocomplete( "disable" );

3.4 enable():启用插件

$( ".selector" ).autocomplete( "enable" );

3.5 option(optionName):获取特定属性值

var isDisabled = $( ".selector" ).autocomplete( "option", "disabled" );

3.6 option():获取所有属性值,返回一个包含属性键值对的对象

var options = $( ".selector" ).autocomplete( "option" );

3.7 option(optionName,value):给特定属性赋值

$( ".selector" ).autocomplete( "option", "disabled", true );

3.8 option( options ):给一个或多个属性赋值

$( ".selector" ).autocomplete( "option", { disabled: true } );

4、扩展点Extension Points

4.1 _renderItem(ul,item):控制下拉菜单每个选项的生成

_renderItem: function( ul, item ) {return $( "<li>" ).attr( "data-value", item.value ).append( item.label ).appendTo( ul );
}

4.2 _renderMenu(ul,items):控制生成下拉菜单的方法

_renderMenu: function( ul, items ) {var that = this;$.each( items, function( index, item ) {that._renderItemData( ul, item );});$( ul ).find( "li:odd" ).addClass( "odd" );
}

4.3 _resizeMenu():下拉菜单展开之前控制其大小

_resizeMenu: function() {this.menu.element.outerWidth( 500 );
}

5、事件Events

5.1 change(event,ui)

当区域失去焦点,且输入值发生改变时触发事件

初始化:

$( ".selector" ).autocomplete({change: function( event, ui ) {}
});

绑定事件监听:

$( ".selector" ).on( "autocompletechange", function( event, ui ) {} );

5.2 close(event,ui)

当下拉菜单隐藏时触发

5.3 create(event,ui)

创建插件时触发

5.4 focus(event,ui)

当焦点移动至选项时触发。默认操作是将处于焦点选项的值代替输入区域的值

5.5 open(event,ui)

当下拉菜单展开时触发

5.6 select(event,ui)

当选中下拉菜单的某个选项时触发

转载于:https://www.cnblogs.com/sakura0203/p/6485459.html

Autocomplete相关推荐

  1. jquery autocomplete demo

    根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择. jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquer ...

  2. jQuery搜索框自动补全功能插件实现-autocomplete.js

    最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单 ...

  3. 33.搜索插件——autocomplete

    搜索插件的功能是通过插件的autocomplete()方法与文本框相绑定,当文本框输入字符时,绑定后的插件将返回与字符相近的字符串提示选择,调用格式如下: $(textbox).autocomplet ...

  4. jquery autocomplete实现solr查询字段自动填充并执行查询

    2019独角兽企业重金招聘Python工程师标准>>> 页面引入三个JS: <script type="text/javascript" src=" ...

  5. Autocomplete 自动补全(Webform实战篇)

    开篇语 因为项目中需要用到一个自动补全的功能,功能描述: 需求一:新增收件人的时候,自动下拉显示出数据库中所有的收件人信息(显示的信息包括:姓名-收件地址-联系方式) 需求二:选中一个值得时候,分别赋 ...

  6. JQuery Autocomplete实战

    废话不多说,先看效果!~ 需要引入的资源如下 <link rel="stylesheet" href="/css/jquery.autocomplete.css&q ...

  7. jQuery autoComplete 样式

    前提:使用了jQuery-ui 官网:http://jqueryui.com/autocomplete/ /*** autocomplete ***/ .ui-widget-content {back ...

  8. jquery.autocomplete自动补全功能

    1.jquery.autocomplete参考地址  http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/  http:// ...

  9. jqueryui autocomplete 控件自定义source检索

    有时侯我们在做自动完成时为了从多字段去检索,往往会发起个ajax请求让服务端去实现.对于这种数据集固定不变的数据源这种做法显然给服务器增加了不少请求. 实际上jqueryui autocomplete ...

  10. Jquery autocomplete插件

    转自:https://www.cnblogs.com/Leo_wl/p/7845730.html Jquery autocomplete插件的使用示例 回到目录 Jquery autocomplete ...

最新文章

  1. java documentlistener_java在DocumentListener中更改文档
  2. VS2010 MFC中控件、对话框等背景颜色动态修改的方法
  3. wordpress 显示数学公式 (MathJax-LaTeX)
  4. Java基础 —— 变量,选择,循环,数组,输入与输出等
  5. 【转】1.2异步编程:使用线程池管理线程
  6. 关于调用Oracle存储过程时发生“BCD Overflow”错误的处理
  7. ELK + kafka 分布式日志解决方案
  8. Python21天打卡Day13-生成器表达式
  9. Mongodb入门安装
  10. 统一资源定位符(URL)介绍
  11. qt调用仪器驱动库dll实现程控
  12. wxpython wx listctrl_wxPython实现指定单元格可编辑的ListCtrl | 学步园
  13. php 获取url中的参数
  14. 游戏制作之路(51)地形细节工具
  15. 运维审计系统----堡垒机的部署
  16. 线性回归、岭回归、逻辑回归、聚类
  17. 利用Java和photoShop实现照片拼图
  18. 计算机科学数学姚期智,科学网—姚期智:一流,从“姚班”开始 - 孙滔的博文...
  19. 客户端单周发版下的多分支自动化管理与实践
  20. 电脑数据,电脑数据恢复软件,失易得数据恢复

热门文章

  1. 使用mybatis generator 生成annotation形式的mapper
  2. 深入理解JVM类文件格式
  3. 原生js实现canvas气泡冒泡效果
  4. 《雪国》—— 读后总结
  5. 设计模式系列--Strategy
  6. GoogleClosureLibrary 中的Component 模型纪要
  7. linux内核的反复--一切都是过程
  8. MongoDB限制与阈值
  9. ORACLE 回收站管理
  10. 【Android】资源加载过程