我正在使用数据列表来填充实时搜索框。该框从数据库中搜索城市,并且数据列表应填充最多 10 条建议,这些建议在用户键入时会发生变化。
但是,显示的建议与数据列表中的选项不完全对应,我只能看到其中的几个。例如,假设我会搜索纽约市。第一个建议在我完成输入“New”之前不会出现,我看到的城市是“New Glasgow”和“New Westminster”,在查看源代码时,我可以看到数据列表确实填充了 10 个开始的城市与“新”。
<input type="text" list="searchResults">
<datalist id="searchResults">
<option value="New Glasgow"></option>
<option value="New Westminster"></option>
<option value="New Milton"></option>
<option value="New Malden"></option>
<option value="New Amsterdam"></option>
<option value="New Delhi"></option>
<option value="New Kingston"></option>
<option value="New Yekepa"></option>
<option value="New Plymouth"></option>
<option value="New Corella"></option>
</datalist>
“New Y”给了我“New Yekepa”,而数据列表中填充了“New Yekepa”、“West New York”、“East New York”和“New York City”。“New Yo”一直到“New York”只给了我“New York City”,但源代码中当然还有东西方。
这是在 Chrome 中。当我在 Firefox 中尝试它时,它的效果稍微好一些,显示了更多的结果——有时是全部 10 个,但更常见的是我可以看到数据列表中出现的 10 个中的 7-8 个。