gpt4 book ai didi

java - jsp中的自动完成文本框

转载 作者:行者123 更新时间:2023-11-30 12:04:32 25 4
gpt4 key购买 nike

我有一个包含表值的数据库:

数据库:staff_details

    staffname

Arun
Suresh
Ankita
Tina

我希望使用数据库中的值自动完成文本框。例如,如果我在文本框中输入“a”,那么它应该显示数据库中仅以字母“a”开头的所有名称。现在它显示所有包含“a”字母的名称。IE 如果我在文本框中键入“a”,该列表应仅包含“Anikta”和“Arun”。

当我在文本框中输入字母“a”时,我当前的列表包含 Arun、Anikta 和 Tina。

如何将数据库中以文本框中输入的字母开头的值显示为列表

我尝试过的:

          <label for="validationDefaultUsername">Authors </label>     
<%
Connection con=null;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");

PreparedStatement ps1= con.prepareStatement("select staffname from staff_details ");
ResultSet rs=ps1.executeQuery();
%>
<input type="text" class="form-control" name="prepared_by" id="auth" placeholder="Author " list="a_data" id="auth" required>
<%

%>
<datalist id="a_data">
<%while(rs.next())
{ %>
<option value="<%= rs.getString(1) %> "> </option>
<%
}
%>
</datalist>
</div>

最佳答案

您需要使用 LIKE 运算符在您的查询中,因此您的代码将如下所示:

        <% 
Connection con=null;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");

PreparedStatement ps1= con.prepareStatement("select staffname from staff_details where staffname LIKE ? ");
ps1.setString(1, search + "%");
//^ passing value to placeholder & here "%"<- can be any letter
ResultSet rs=ps1.executeQuery();
%>

另外,引用我的answer用 ajax 做这件事。

关于java - jsp中的自动完成文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57089512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com