使用 html5 数据列表自定义自动完成

Rag*_*eer 5 html javascript jquery html-datalist

我正在使用 html datalist 来自动填充一些数据。我想要一种行为,它应该过滤除一个默认值之外的所有内容。下面是示例代码:

<input type="text" list="mylist"/>
<datalist id="mylist">
    <option value="San Jose"></option>
    <option value="San Francisco"></option>
    <option value="New York"></option>
    <option value="Chicago"></option>
    <option value="Boston"></option>
    <option value="Los Angeles"></option>
</datalist>
Run Code Online (Sandbox Code Playgroud)

在上面的事情中,默认情况下,如果我输入 s,它将只显示圣何塞和旧金山,当我输入 n 时,它将只显示纽约。

我的要求是,在任何情况下,无论输入什么,它都应该始终显示圣何塞(默认情况下),然后过滤其余元素。

示例:键入 B,应该同时显示圣何塞和波士顿,因为圣何塞是我的默认值,而波士顿是输入框上的过滤值。

这可能吗 ?如果没有,达到相同结果的替代方法是什么?

JSFiddle

如果需要,我可以使用 Javascript/Jquery。但是,我不能使用任何自动完成插件。

Ste*_*ler 3

如果不使用自定义插件,这是不可能的。datalist支持充其量仍然是平庸的,目前没有办法影响显示的选项。

有一些浏览器实现差异甚至不会受到影响(Chrome 仅在选项开始时匹配,FireFox 也匹配其中其他任何位置的文本)。没有办法改变这一点,更不用说添加自定义方式来显示某些建议了。