如何让select下拉还可以输入
2017-11-26 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
下面是一个基本的select下拉框。
<select id="editable-select"><option>Alfa Romeo</option>
<option>Audi</option>
<option>中国人民银行</option>
<option>中国人民</option>
<option>中国</option>
<option>BMW</option>
</select>
此外还需要加载jQuery库和jquery.editable-select.js文件,在源码下载包里已经有了。
jQuery只需要以下代码就能实现传统的下拉框变成有输入功能的下拉框了。
$('#editable-select').editableSelect({effects: 'slide'
});
其实我们细看插件代码就会发现,作者是将原有的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:当下拉框中的选项被选中时触发。
事件调用方法:
$('#editable-select').editableSelect({onSelect: function (element) {
alert("Selected!");
}
});
此外,还支持键盘方向键、回车键、Tab键以及Esc键操作。