Java 如何使用jquery自动完成?

Java 如何使用jquery自动完成?,java,javascript,jquery,autocomplete,jquery-autocomplete,Java,Javascript,Jquery,Autocomplete,Jquery Autocomplete,我正在使用JSP创建一个web项目,并试图使用jQueryAutoComplete从我的数据库中实现一个简单的用户搜索,但是我很难理解它是如何工作的。我对jquery和ajax几乎一无所知,只是想让您知道。我已经完成了下面的代码并且被卡住了 <%@page contentType="text/html" pageEncoding="UTF-8" import="ewa.dbConnect,ewa.sendEmail,ewa.pwGen,ewa.hashPw,java.sql.*" %>

我正在使用JSP创建一个web项目,并试图使用jQueryAutoComplete从我的数据库中实现一个简单的用户搜索,但是我很难理解它是如何工作的。我对jquery和ajax几乎一无所知,只是想让您知道。我已经完成了下面的代码并且被卡住了

<%@page contentType="text/html" pageEncoding="UTF-8" import="ewa.dbConnect,ewa.sendEmail,ewa.pwGen,ewa.hashPw,java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" />
        <script src="js/jquery.autocomplete.js"></script>
        <script type="text/javascript"
            src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <input type="text" id="search" name="search"/>
        <script>
        $("#search").autocomplete("getdata.jsp");
    </script>
    </body>
</html>

JSP页面
$(“#搜索”).autocomplete(“getdata.jsp”);
getdata.jsp

<%@page contentType="text/html" pageEncoding="UTF-8" import="ewa.dbConnect,java.sql.*" %>
<%! dbConnect db = new dbConnect(); %>
<%
String query = request.getParameter("q");
db.connect();
Statement stmt = db.getConnection().createStatement();
ResultSet rs = stmt.executeQuery("SELECT username FROM created_accounts WHERE username LIKE "+query);
while(rs.next())
{
    out.println(rs.getString("username"));
}
db.disconnect
%>


如果我没有错,我从一个网站上读到,参数q是默认值,就在那里,但是我如何显示数据?如何将getdata.jsp中的值传递到自动完成中?

我看不到包含jQuery UI(该UI提供自动完成功能)

因此,您需要包括jquery.ui.autocomplete.js (或者您正在使用插件autocomplete?如果是,请转到jquery UI版本)

也可能是getdata.jsp中的数据格式不正确,无法在自动完成中使用


您是如何尝试在chrome或firefox(使用firebug)等浏览器中调试javascript的?

我没有看到包含jQuery UI(该UI提供自动完成功能)

因此,您需要包括jquery.ui.autocomplete.js (或者您正在使用插件autocomplete?如果是,请转到jquery UI版本)

也可能是getdata.jsp中的数据格式不正确,无法在自动完成中使用


如何在浏览器(如chrome或firefox)中调试javascript(使用firebug)

在包含jQuery之前,您正在调用autocomplete脚本标记。因此,没有jQuery可以锁定(因为jQuery对象尚未定义),jQuery自动完成插件中的任何内容都不会加载

你有

 <script src="js/jquery.autocomplete.js"></script>
 <script type="text/javascript"
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

应该是

    <script type="text/javascript"
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script src="js/jquery.autocomplete.js"></script>


颠倒顺序,你提到的Firebug错误就会消失;我不确定它是否能解决所有问题,但在问题解决之前,一切都不会起作用

在包含jQuery之前,您正在调用autocomplete脚本标记。因此,没有jQuery可以锁定(因为jQuery对象尚未定义),jQuery自动完成插件中的任何内容都不会加载

你有

 <script src="js/jquery.autocomplete.js"></script>
 <script type="text/javascript"
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

应该是

    <script type="text/javascript"
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script src="js/jquery.autocomplete.js"></script>

颠倒顺序,你提到的Firebug错误就会消失;我不确定它是否能解决所有问题,但在问题解决之前,一切都不会起作用

我通常给出一个JSON格式的答案(对于jQueryUI自动完成),而我看到您的答案循环给出一个CR分隔的列表

在getdata.jsp中,而不是在Product中:

jim<cr>
jack>cr>
jhon<cr>
我通常给出一个JSON格式的答案(对于jQueryUIAutoComplete),而我看到您的答案循环给出一个CR分隔的列表

在getdata.jsp中,而不是在Product中:

jim<cr>
jack>cr>
jhon<cr>

不,jQueryUI是用来做什么的?我想我只需要包括来自google的jquery库,autocomplete api和它的csshi,刚刚使用的firebug和我得到的错误是jquery没有定义,$(“#搜索”)。autocomplete不是一个函数,这意味着在执行时jquery库没有加载。autocomplete。您应该将调用包装成$(document.ready(function(){$(“#search”).autocomplete(“getdata.jsp”);}如果您没有阅读有关autocomplete或jquery的一般文档,那么您将永远无法运行它。您现在使用的autocomplete是来自插件的,因为autocomplete功能已添加到jquery UI(与其他UI组件一起)中,因此不再需要此插件您好,我阅读了文档,我不明白为什么下载UI时会包含很多文件。我找不到这些文件的含义是什么?不,jquery UI是做什么的?我想我只需要包含google的jquery库、autocomplete api和它的csshi,刚刚使用的firebug和我得到的错误是没有定义jQuery,$(“#搜索”)。autocomplete不是一个函数,这意味着在执行.autocomplete时没有加载jQuery库。您应该将调用包装在$(文档).ready(函数(){$(“#搜索”).autocomplete(“getdata.jsp”);}如果您没有阅读有关autocomplete或jquery的一般文档,那么您将永远无法运行它。您现在使用的autocomplete是来自插件的,因为autocomplete功能已添加到jquery UI(与其他UI组件一起)中,因此不再需要此插件您好,我阅读了文档,我不明白为什么在下载UI时会包含很多文件。我找不到这些文件是什么意思假设应该有2个文件,这可能会有帮助:您好,这是我访问的网站,但它没有提供足够的文档,代码是两个代码,不知怎的,它没有得到separatedthere应该有2个文件,这可能会有帮助:嗨,这是我去的网站,但它没有提供足够的文档,代码是两个代码,不知怎么的,它没有分开