我知道有很多 JavaScript 解决方案,但是有没有一种 HTML5 方法可以让文本输入自动完成? datalist 元素几乎就是我所追求的,除了它允许您输入自定义值而不是将您限制在列表中。
原文由 Evanss 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该尝试 datalist
元素。它在 W3C HTML5 Recommendation 中有明确的定义,可能是现在和不久的将来最好的选择。
datalist 元素使用 input 元素上的 list 属性连接到 input 元素。
作为 datalist 元素后代的每个 option 元素,未被禁用,并且其值是一个非空字符串的字符串,表示一个建议。每个建议都有一个 值 和一个 标签。
Google chrome 和基于 chromium 的浏览器从 v21.x 开始支持它(截至 2014 年 12 月,当前版本为 39,请 在此处查看其他浏览器 的兼容性状态) Firefox 和 Opera 也支持很长时间。现代(!)IE 版本 部分支持 数据列表。
演示: Eiji Kitamura 的出色 工作数据列表实现。
Polyfill :另请查看 RelevantDropdown 。它是一个依赖于 jQuery 和 Modernizr 的 HTML5 数据列表 polyfill。
尝试运行这个例子:
<input type="search" list="languages" placeholder="Pick a programming language..">
<datalist id="languages">
<option value="PHP" />
<option value="C++" />
<option value="Java" />
<option value="Ruby" />
<option value="Python" />
<option value="Go" />
<option value="Perl" />
<option value="Erlang" />
</datalist>
W3 参考: https ://www.w3.org/TR/html5/forms.html#the-datalist-element
原文由 edigu 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答877 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答892 阅读✓ 已解决
2 回答780 阅读
1 回答768 阅读✓ 已解决
2 回答1.1k 阅读
HTML5 有一个
autocomplete
属性,可以在字段中指定为on
或off
。这是一个例子:
它的工作方式是,您第一次提交的值将在您随后访问此页面时在每个字段的
keyup
上向您建议。关于
autocomplete
来自 W3Schools 的其他事实,在这种情况下不要讨厌,因为它确实涵盖了基础知识: