1、Autocomplete的主要属性:
source:即为指定智能提示下拉框中的数据来源,支持三种类型。
  Array,主要用于本地化数据提供,支持两种格式:字符串数组 [ "Choice1", "Choice2" ]及标签和值属性的Json格式数组 [ { label: "Choice1", value: "value1" }, ... ]
  String,用于ajax请求的远程地址链接,返回Array或Json格式字符串。
  Function,回调函数,最具有灵活性的一种方式,可用于返回任何数据源方式来实现自动完成,其中包含两个参数request,response通过request.term 来获取用户输入的值,通过response(argument)来对获取的数据源进行显示。
autoFocus:当智能提示框出现时,是否自动选中第一项,默认为false,即不选中。
delay:在按键后执行搜索的延时,默认为300ms。
disabled:是否禁用自动完成功能,默认为false。
minLength:触发自动完成功能需要输入的最小字符数量。

2、Autocomplete还提供了一些有用的方法:
close():关闭智能提示选择框。  
destroy():销毁智能提示选择框,将其所产生的元素完全删除,使其恢复至初始状态。
disable():禁用自动完成功能。
enable():开启自动完成功能。

3、主要事件包括:
change(event, ui):当值改变时发生,ui.item为选中的项。
close(event, ui):当智能提示框关闭时发生。
create(event, ui):当智能提示框创建时发生,可以在此事件中,对外观进行一些控制。
focus(event, ui):当智能提示列表任意一项获得焦点时发生,ui.item为获得焦点的项。
open(event, ui):当智能提示框打开或更新时发生。
response(event,ui):在搜索完成后智能提示框显示前发生,可以在此事件中对显示项进行处理。
search(event, ui): 在开始请求之前发生,可以在此事件中返回false来取消请求。
select(event, ui):当智能提示框中任意一项被选中时发生,ui.item为选中的项。

4、Autocomplete程序入门

首先引入相关的css和js文件,HTML代码

<link href="../css/jquery-ui.css" rel="stylesheet" />
<script type="text/javascript" src="../js/jquery-1.9.1.min.js" ></script>
<script type="text/javascript" src="../js/jquery-ui.js" ></script>
<label for="language">搜索:</lable>
<input id="language" name="language" type="text">

这里采用的是本地数据,js代码如下:

$("#language").autocomplete({
source: [ 'Chinese','English','Spanish','Russian','French','Japanese','Korean','German']
});

当输入c时的效果如下:

5、source使用标签和值属性演示

HTML不变,js代码如下:

$("#language").autocomplete({
// 静态的数据源,根据label属性进行显示或模糊匹配,当给输入框设置value属性值
source: [
{ label: "Chinese", value: 1 },
{ label: "English", value: 2 },
{ label: "Spanish", value: 3 },
{ label: "Russian", value: 4 },
{ label: "French", value: 5 },
{ label: "Japanese", value: 6 },
]
});

在输入框输入c时,此时输入框对应的值是value的值

注意:如果数据太多可以添加滚动效果:

 <style>
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
/* 防止水平滚动条 */
overflow-x: hidden;
}
</style>

最新文章

  1. 通过NPOI操作Excel
  2. CODEVS1643 线段覆盖3[贪心]
  3. python基础之dict、set及字符
  4. 如何实现修改FileUpload样式
  5. linux 进入包含空格文件名的文件夹
  6. 第一个struts案例及分析
  7. 各种vpn协议介绍(重点介绍sslvpn的实现方式openvpn)
  8. NWERC 2012 Problem E Edge Case
  9. Log4Qt使用(三)在DailyRollingFileAppender类中增加属性mMaxBackupIndex
  10. Java开发工具箱-JDK的安装与配置
  11. swift MBProgressHUD加载gif或者apng的动图
  12. 小tips:使用rem+vw实现简单的移动端适配
  13. 重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)
  14. kettle无法更新数据库字段解决办法
  15. lucene创建索引的几种方式(一)
  16. C++中vector使用详细说明 (转)
  17. 170823、SQL Update多表联合更新的方法
  18. 使用jsp内置对象request获取表单提交中文内容乱码的解决办法
  19. gvim配置文件
  20. 本地Maven库添加SQLServer2012 sqljdbc4.jar

热门文章

  1. servlet中请求转发(forword)与重定向(sendredirect)
  2. RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)
  3. openwrt多wan限上下行速脚本,基于qosv4,imq模块替换成ifb模块[ZT]
  4. Structs复习 字符编码问题
  5. MVC 2nd
  6. 关于三层(dao,serviece,servlet)
  7. HTML框架、列表、表格
  8. 手机移动端web前端常见问题整理
  9. unity 数学公式
  10. 学JS的心路历程 -数组常见处理方法