【问题标题】:Hide value of a search input option [duplicate]隐藏搜索输入选项的值[重复]
【发布时间】: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”或值不可见,但这仍然是提交表单时使用的值?

JSFiddle

【问题讨论】:

  • 这能回答你的问题吗? Setting hidden datalist option values
  • 你为什么使用datalist而不是普通的select标签?
  • @MuhammadZeeshan 这样他们就可以根据需要在输入中输入任何文本,而不仅限于选项
  • @tom 看起来隐藏值的唯一方法是使用数据属性,将标签放入值中,然后使用 javascript 提交数据值
  • @Wimanicesir 我根据标题跳过了这个问题,但看起来是同一个问题。我试试看,谢谢!

标签: html forms


【解决方案1】:

<form action="/action_page.php" method="get">
  <input list="browsers" name="browser">
  <datalist id="browsers">
    <option value="Internet Explorer">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
  </datalist>
  <input type="submit">
</form>

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

【讨论】:

  • 提交需要有整数值,可见内容为字符串
  • 使用 select 2 类在选择下拉菜单中启用搜索。提交后,您将获得 DB 的整数值并显示文本字符串。 select2.org/searching查看此链接
猜你喜欢
  • 2013-11-17
  • 1970-01-01
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2012-01-01
  • 1970-01-01
相关资源
最近更新 更多