我的印象是,除了选择列表中已有的任何值外,您还可以在组合框中键入内容。但是,我似乎无法找到有关如何执行此操作的信息。是否需要添加一个属性以允许输入文本?
最佳答案
在 datalist
(见下面的注释)之前,您需要提供一个额外的 input
元素,供人们输入他们自己的选项。
<select name="example">
<option value="A">A</option>
<option value="B">B</option>
<option value="-">Other</option>
</select>
<input type="text" name="other">
此机制适用于所有浏览器并且不需要 JavaScript。
如果选择了“其他”选项,您可以使用一些 JavaScript 巧妙地只显示 input
。
数据列表元素
datalist
元素旨在为这个概念提供更好的机制。在某些浏览器中,例如iOS Safari < 12.2,这不受支持或实现有问题。 Check the Can I Use page to see current datalist support .
<input type="text" name="example" list="exampleList">
<datalist id="exampleList">
<option value="A">
<option value="B">
</datalist>
关于带有输入条目选项的 HTML 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614702/