当前位置:嗨网首页>书籍在线阅读

05-autocomplete (options)方法

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.3.1  autocomplete (options) 方法

autocomplete (options) 方法要求 <input> 元素必须作为一个显示在建议列表上方的输入框类型来被管理。 options 参数则指定了建议列表在用户在输入框中输入时的相关 行为。

自动补全的运作流程是这样的:用输入框中的字符和指定的数据源(即 options. source )进行匹配。只要和数据源中的任意字符匹配,就算匹配成功,而不仅仅是从开头开始匹配。因此,如果用户要查找匹配字母“a”,则其补全结果并不需要以a开头,也可以是中间含有a。

1.自动补全的管理

表9-1详细列出了可用于管理自动补全的选项。

表9-1 管理自动补全的选项

| 选项 | 功能 | | :----- | :----- | :----- | :----- | | options.disabled | 当设置为 true 时,禁用自动补全机制。用户仍然可以在输入框中输入,但不会再有列表显示。可以使用 autocomplete ("enable") 开启自动补全机制 | | options.source | 指定用于建议列表的数据源。数据可以是本地的(程序已知的),也可以是远程的(从服务器端获取的) | | options.minLength | 触发建议列表显示所需的最少输入字符数。默认值为1 | | options.delay | 对已输入的字符进行匹配前的延时设置(毫秒)。默认延时为300 ms |

2.管理建议列表的事件

表9-2中描述的事件要么是在输入框中输入时触发,要么是在列表中选择项目时,或是调用了任意一个管理自动补全的方法时触发。在这些方法中,可以使用 autocomplete ("widget") 来访问包含列表的 <ul> 元素。当你需要从整体上操作列表,进而访问每一个 <li> 列表项时,此方法尤其有用。

表9-2 管理自动补全事件的选项

| 选项 | 功能 | | :----- | :----- | :----- | :----- | | options.open | open (event) 方法会在建议列表显示时调用 | | options.close | close (event) 方法会在建议列表被关闭时调用 | | options.search | search (event) 方法会在显示建议列表前的搜索匹配工作完成后调用。如果此方法返回 false ,则列表不会显示 | | options.focus | focus (event, ui) 方法在列表项获得焦点时,或者是鼠标移至列表项或者用方向键选择列表项时调用。 ui.item 是一个 {label, value} 对象,其中 label 对应着建议列表中显示的文本,而 value 则是所选项对应的将要插入输入框中的值。( labelvalue 常常有着相同的值,但分离这两个变量可以提供更多的灵活性。)如果该方法返回 false ,输入框中的内容不变 | | options.select | select (event, ui) 方法会在某个列表项被选择时调用。如果该方法返回 false ,输入框中的内容不变。 ui.item 是一个 {label, value} 对象,其中 label 对应着建议列表中显示的文本,而 value 则是所选项对应的将要插入输入框中的值。( labelvalue 常常有着相同的值,但分离这两个变量可以提供更多的灵活性。)如果该方法返回 false ,输入框中的内容不变 | | options.change | change (event) 会在输入框失去焦点(当用户单击了输入框外的任意地方)且内容发生变化时调用。此事件常于用户在列表中选择了一个新的项目、将新的文本插入输入框并关闭列表后发生 |