如何实现自动填写输入表单

How implement auto-fill in input form

我有一个 ArrayList<String> products,我将它们加载到输入文本中

<select class="form-control">
  <option id="AL9001">AL9001</option>
  <option id="AV8932">AV8932</option>
  <option id="BVE0932">BVE0932</option>
  etc...
</select>

ArrayList 的大小相当大(2000 个元素),因此向下滚动 2000 个元素来找到你想要的东西并不容易。我如何实现自动填充功能,用户开始写某事并显示了可能的元素。我进行了搜索,但发现只有一个 html 属性 autocomplete 它不适用于我的情况..

我找到的另一个解决方案是 solr,它可能适合我的项目,因为我的项目是用 Tomcat 和 jsps 构建的。还有其他方法可以实现吗?

使用 datalist HTML5 element, or the jQuery-ui autocomplete 小部件(如果您需要支持旧浏览器)。我还建议在提交之前验证输入,因为数据列表和自动完成功能仅适用于 <input> 而不适用于 <select>,因此用户可以在那里键入任何内容。 (没有提到提交值的明显服务器端验证。)