6

我想在选择标签中创建输入选项,以便用户可以在选项之间进行选择或插入不同的值。
可能吗?

<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>
4

4 回答 4

25

具有“list”属性的 HTML 解决方案:

<input type="text" name="city" list="citynames">
<datalist id="citynames">
  <option value="Boston">
  <option value="Cambridge">
</datalist>
于 2015-11-17T23:33:57.257 回答
3

您将不得不使用 javascript 来获得附加值。查看这篇文章以获取一些示例代码:

Jquery在选择中动态更新“其他”选项

于 2013-03-19T17:43:16.507 回答
2

选择元素不能包含除optionoroptgroup元素以外的任何内容。这是规范的参考http://www.w3.org/TR/html5/forms.html#the-select-element

您最好在下拉列表中添加“其他”选项,然后使用 JS 检测该选项以动态显示自定义值的输入(下拉列表下方)。

于 2013-03-19T17:47:58.070 回答
0

在选择框上方放置一个输入框,去掉输入框的边框。使输入框的长度比选择框的长度短,这样选择框的末端仍然可以使用。

使用 oninput 事件检测输入框中输入的内容。在每次击键时,检查选择框中的连续匹配。当匹配不再存在时,不再需要选择框。

服务器将期望同时接收文本框输入(如果有)和选择框输入(如果有),并且应该使用选择值(如果提供),否则使用输入值(如果提供)。

于 2016-11-22T17:16:56.483 回答