最佳答案
目前,大多数主流浏览器(Safari 除外)都支持 HTML5<datalist>
元素,这似乎是一种向输入添加建议的有趣方式。
但是,在 value
属性的实现和 <option>
上的内部文本之间似乎存在一些差异。例如:
<input list="answers" name="answer">
<datalist id="answers">
<option value="42">The answer</option>
</datalist>
不同的浏览器处理这个问题的方式不同:
Chrome 和 Opera:
FireFox 和 IE 11:
选择一个之后,输入将填充值而不是内部文本。我只希望用户在下拉列表和输入中看到文本(“答案”) ,但是在提交时传递值 42
,就像 select
一样。
如何让所有浏览器的下拉列表显示 <option>
的标签(内部文本) ,但在提交表单时发送 value
属性?