Javascript 防止筛选a中的自动完成建议<;输入类型=";搜索“&燃气轮机;标签

Javascript 防止筛选a中的自动完成建议<;输入类型=";搜索“&燃气轮机;标签,javascript,html,Javascript,Html,我有一个html输入字段,它连接到一个包含自动完成建议的数据列表 <input type="search" id="input-search" class="form-control" name="searchfield" list="autocompleteitems"> <datalist id="autocompleteitems"> </datalist> 我想要的是关于这三个项目(苹果、水果苹果)的建议。因为fruit不是以ap开头,它会被踢出,

我有一个html输入字段,它连接到一个包含自动完成建议的数据列表

<input type="search" id="input-search" class="form-control" name="searchfield" list="autocompleteitems">

<datalist id="autocompleteitems">
</datalist>
我想要的是关于这三个项目(苹果、水果苹果)的建议。因为
fruit
不是以
ap
开头,它会被踢出,只建议使用
apple
apples

有没有办法防止html/浏览器过滤那些不以搜索框中的文本开头的项目

编辑 注释中链接的stackoverflow帖子显示了如何在搜索字段上设置过滤器。但是firefox会自动过滤,我的问题是如何不过滤结果

示例:

我在搜索字段中键入
ap

我的ajax请求返回
apple
fruit
,并将其写入数据列表

现在,firefox建议使用
apple
,但扔掉了
fruit
,因为它不是以
ap
开头的


我想要的是,这两个词都是suggestet-
apple
fruit

Java脚本中的RegEx可能对你有所帮助。 您可以在HTML中使用JS函数来实现这一点

一旦您从数据列表中获得筛选值, 用正则表达式检查它们

示例:

var从\u DataList=“Apple”中过滤\u Recs\u;
console.log(/^Apple/.test(从数据列表中筛选出的记录));

希望这有帮助。:)

这回答了你的问题吗@BanujanBalendrakumar感谢您的回答,基本上,通过jQueryUI的自动完成功能,我可以实现这一点。更好的解决方案是只使用基本jquery功能调用过滤。我可以在输入标记中设置一个标志,但我怀疑它是否存在…@epascarello我想避免使用
jqueryui.js
作为额外的库来包含它。但如果这是唯一的办法,我会这么做。谢谢。我的意思是你可以自己编写代码,而不用库。regexp如何帮助自动完成?我想你误解了这个问题
<datalist id="autocompleteitems">
    <option value="apple"></option>
    <option value="fruit"></option>
    <option value="apples"></option>
</datalist>