我想在选择标签中创建输入选项,以便用户可以在选项之间进行选择或插入不同的值。
可能吗?
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
**<insert user value>**
</select>
我想在选择标签中创建输入选项,以便用户可以在选项之间进行选择或插入不同的值。
可能吗?
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
**<insert user value>**
</select>
具有“list”属性的 HTML 解决方案:
<input type="text" name="city" list="citynames">
<datalist id="citynames">
<option value="Boston">
<option value="Cambridge">
</datalist>
您将不得不使用 javascript 来获得附加值。查看这篇文章以获取一些示例代码:
选择元素不能包含除option
oroptgroup
元素以外的任何内容。这是规范的参考http://www.w3.org/TR/html5/forms.html#the-select-element
您最好在下拉列表中添加“其他”选项,然后使用 JS 检测该选项以动态显示自定义值的输入(下拉列表下方)。
在选择框上方放置一个输入框,去掉输入框的边框。使输入框的长度比选择框的长度短,这样选择框的末端仍然可以使用。
使用 oninput 事件检测输入框中输入的内容。在每次击键时,检查选择框中的连续匹配。当匹配不再存在时,不再需要选择框。
服务器将期望同时接收文本框输入(如果有)和选择框输入(如果有),并且应该使用选择值(如果提供),否则使用输入值(如果提供)。