<datalist>

<datalist>标签是一个容器标签,用于为指定控件提供一组相关数据,通常用于生成输入提示。它的内部使用<option>,生成每个菜单项。

  1. <label for="ice-cream-choice">冰淇淋:</label>
  2. <input type="text" list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice">
  3. <datalist id="ice-cream-flavors">
  4. <option value="巧克力">
  5. <option value="椰子">
  6. <option value="薄荷">
  7. <option value="草莓">
  8. <option value="香草">
  9. </datalist>

上面代码中,<input>生成一个文本输入框,用户可以输入文本。<input>list属性指定关联的<datalist>id属性。<datalist>的数据列表用于输入建议,用户点击输入框的时候,会显示一个下拉菜单,里面是建议的输入项。并且还会自动匹配用户已经输入的字符,缩小可选的范围,比如用户输入“香”,则只会显示“香草”这一项。

注意,<option>在这里可以不需要闭合标签。

<option>标签还可以加入label属性,作为说明文字。Chrome 浏览器会将其显示在value的下一行。

  1. <datalist id="ide">
  2. <option value="Brackets" label="by Adobe">
  3. <option value="Coda" label="by Panic">
  4. </datalist>

上面代码的渲染结果是,Chrome 浏览器会在下拉列表显示value值(比如Brackets),然后在其下方以小字显示label值(比如by Adobe)。