【发布时间】:2020-01-15 20:19:32
【问题描述】:
使用搜索输入时,列表通常来自数据库,其中项目将具有 ID 和标题。为了更容易链接从搜索输入中选择的文本值,我通常将值设置为 ID,如下所示:
<input type="search" list="mylist">
<datalist id="mylist">
<option value="1">Example</option>
<option value="2">Test</option>
<option value="3">Another one</option>
</datalist>
但据我所知,在 chrome 和其他浏览器上,这会导致值成为选项显示的“主要”内容,而标题是其下方的子文本。
从最终用户的角度来看,这看起来很糟糕:
有没有办法解决这个问题,使“id”或值不可见,但这仍然是提交表单时使用的值?
【问题讨论】:
-
这能回答你的问题吗? Setting hidden datalist option values
-
你为什么使用
datalist而不是普通的select标签? -
@MuhammadZeeshan 这样他们就可以根据需要在输入中输入任何文本,而不仅限于选项
-
@tom 看起来隐藏值的唯一方法是使用数据属性,将标签放入值中,然后使用 javascript 提交数据值
-
@Wimanicesir 我根据标题跳过了这个问题,但看起来是同一个问题。我试试看,谢谢!