Select是HTML中的下拉列表标签,支持单选和多选,但是不支持手动输入,以下是一些解决方案。
datalist
Datalist是HTML5的原生标签,用于向input提供下拉和自动提示选项,支持输入和下拉选择两种方式。但是目前IE10及其以下浏览器并不支持, 并且IE11无法触发input和change事件,相当于IE系列均无法很好地实现。如果仅支持Chrome或Eletron桌面的应用则可以放心使用。
好处不需要引用额外的JS/CSS文件支持,示例:
Html+CSS兼容IE实现有时侯,我们是必须要兼容旧版IE的。而且很多时侯,我们并不需要datalist的自动补全功能,我们可能更希望即使下拉选择中没有匹配用户输入的内容,所有选项也能够弹出来。这样通过纯HTML+CSS即可实现,基本原理是使用 input/select 两个元素,然后 input 覆盖在 select 上层 ,宽度并比select窄一点,这样用户就能点到select的箭头弹出下拉框。参考: Stackoverflow
115x175 mm
120x160 mm
120x287 mm
.select-editable {
position:relative;
background-color:white;
border:solid grey 1px;
width:120px;
height:18px;
}
.select-editable select {
position:absolute;
top:0px;
left:0px;
font-size:14px;
border:none;
width:120px;
margin:0;
}
.select-editable input {
position:absolute;
top:0px;
left:0px;
width:100px;
padding:1px;
font-size:12px;
border:none;
}
.select-editable select:focus, .select-editable input:focus {
outline:none;
}
在线示例: http://jsfiddle.net/nwH8A/
JavaScript-autoComplete
这是一个由JavaScript编写的自动补全插件,不依赖jQuery且仅有5.4kB
Bootstrap Magicsuggest
Magicsuggest是一个非常流行的自动补全插件,复用了Bootstrap的CSS样式,基于Bootstrap框架的可以考虑