html datalist元素自动建议行为

时间:2015-01-04 05:26:15

标签: html5 cross-browser html-datalist

我注意到,当您将文本字段连接到数据列表时,不同的浏览器在建议文本字段的值时会有不同的行为。某些浏览器会显示开头的条目(IE,较旧的Chrome版本),而其他浏览器会显示包含的条目键入为子字符串(firefox,较新的chrome版本)。

例如,在文本框中输入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">
&#13;
&#13;
&#13;

(或者如果您愿意,可以使用http://jsfiddle.net/yaj8ut3m/

在IE中,它只会建议Internet Explorer,但firefox&amp;最近的Chrome会建议Internet ExplorerFirefoxSafari

是否有某种方法可以指定要使用哪种自动建议过滤行为?

注意:javascript解决方案是不可接受的

2 个答案:

答案 0 :(得分:4)

这是unspecified选项。

已知issue

If you type "V" the list will show only items that start with "V" in Chrome, Opera and IE, and any <option> containing "V" in Firefox.

答案 1 :(得分:2)

如果问题是:

“是否有某种方法可以指定使用哪种自动建议过滤行为?

注意:javascript解决方案不可接受“

答案(遗憾的是):没有,这取决于浏览器的实现,而datalist标签没有任何属性。

我不得不说它充满了“插件”而且相对简单地写一个但是使用js。