我注意到,当您将它连接到数据列表时,不同的浏览器在为文本字段建议值时会有不同的行为。某些浏览器显示的条目完全是以开头的内容(IE,chrome),而另一些则显示包含的条目您输入的子字符串(firefox)。html datalist元素自动建议行为
例如,键入i
到文本框,并观察建议:
browser:
<datalist id="browsers">
<option value="Google Chrome">Google Chrome</option>
<option value="Internet Explorer">Internet Explorer</option>
<option value="Firefox">Firefox</option>
<option value="Opera">Opera</option>
<option value="Safari">Safari</option>
<option value="Others">Others?</option>
</datalist>
<input type="text" name="browser" list="browsers">
(或这里有一个小提琴,如果你喜欢http://jsfiddle.net/yaj8ut3m/)
在Chrome和IE,它只会建议Internet Explorer
,但Firefox会建议Internet Explorer
,Firefox
和Safari
。
有什么方法可以指定使用哪种自动建议过滤行为?
注:JavaScript的解决方案是不能接受的
我想,没有办法改变这种行为,因为每个浏览器都有不同的实现。我无法找到任何有关建议标准的规定。 – zoonman
@zoonman ya我在规格中也找不到任何东西。这真的很不幸,因为我觉得缺乏配置会真正限制有多少人使用此功能。 – goat
“JavaScript解决方案不可接受”......这甚至不是一个严肃的问题。它可能是一个理论性的练习,也可能是一个标准特征请求,它似乎是提高意识的一个问题。我为你做了一个练习 - 命名一个实现这个html5特性的用户代理,并且不支持javascript ..然后继续并考虑所有支持javascript的用户代理,而不实现这个html5特性。 –