【问题标题】:Autocomplete textbox in jspjsp中的自动完成文本框
【发布时间】:2019-11-27 02:15:19
【问题描述】:

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

数据库: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>

【问题讨论】:

    标签: java jsp autocomplete textbox


    【解决方案1】:

    您需要在查询中使用 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 执行此操作。

    【讨论】:

    • ps1.setString(1, search + "%")出现错误;
    • 参考我的回答,看看怎么做
    • 我已经使用 ajax 和 jquery 引用了您的答案。但它没有调用“List.jsp”。
    • 如何在数据表中使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 2010-09-22
    • 2013-10-19
    • 2012-06-05
    • 2010-10-31
    相关资源
    最近更新 更多