我们知道,一般select
下拉框是只能选择的,不能用来输入内容的。而有时我们会遇到下拉框中没有要选择的信息项或者下拉选项特别多时,我们可以让select
变成text
,允许用户输入想要的内容,同时还可以在输入的时候将包含关键字的项也列出来,供快速选择。
查看案例
本文将用实例和大家分享一款基于jQuery
的下拉框插件,它允许用户输入内容,同时下拉选项中会及时匹配相关选项,支持键盘操作,还支持html
选项内容,当然还能让下拉的过程带有动画效果。我们来看下如何使用。
实现
- HTML结构
下面是一个基本的select
下拉框
1 |
|
此外还需要加载jQuery
库和jquery.editable-select.js
文件
传送门,走你!jQuery下载 jquery.editable-select.js下载
- jQuery
只需要以下代码就能实现传统的下拉框变成有输入功能的下拉框了。
1 |
|
其实我们细看插件代码就会发现,作者是将原有的select
处理了下,变成了一个输入表单text
和一个列表ul
。这样text
可以输入,下拉选项则用ul
面板,这样一来ul
里的选项就可以添加任意html
代码了,demo
中有示例。然后通过使用CSS
以及js
技术可以实现下拉弹出、输入查找匹配功能。
- 选项设置
filter:过滤,即当输入内容时下拉选项会匹配输入的字符,支持中文,true/false,默认true。
effects:动画效果,当触发弹出下拉选择框时的下拉框展示过渡效果,有default,slide,fade三个值,默认是default。
duration:下拉选项框展示的过渡动画速度,有fast,slow,以及数字(毫秒),默认是fast。
- 事件
onCreate:当输入时触发。
onShow:当下拉时触发。
onHide:当下拉框隐藏时触发。
onSelect:当下拉框中的选项被选中时触发。
事件调用方法:
1 |
|
此外,还支持键盘方向键、回车键、Tab键以及Esc键操作
jQuery Editable Select项目官网地址:https://github.com/indrimuska/jquery-editable-select
原文链接:https://www.helloweba.net/javascript/348.html