【问题标题】:jQuery datepicker and autocomplete togetherjQuery datepicker 和 autocomplete 一起
【发布时间】:2017-04-13 12:06:38
【问题描述】:

我是 Jquery 和 Javascripts 的新手。

我在一个 jsp 页面 (Index.jsp) 上有两个项目。当我键入字母时,一个文本项“供应商名称”是“自动完成”,而其他文本项是使用 Jquery Datepicker 接受“账单日期”。

我尝试在开始输入字母后立即调用另一个 jsp (getdata.jsp) 以自动填充存储在数据库中的供应商名称。此功能运行正常,没有任何问题。

但是当我在 Index.Jsp 中也包含“账单日期”项目时,自动完成功能不起作用,但日期选择器正在工作。请让我知道如何进行自动完成和日期选择器。

请注意,所需的库已下载并保存在我的工作目录中,并且库路径没有问题。

Index.jsp

<html>
<head>
    <link rel="stylesheet" type="text/css" href="./jquery.autocomplete.css" /> 
    <script type="text/javascript" src="./jquery.autocomplete.js"></script>    
        <script type="text/javascript" src="./jquery-3.2.1.min.js"></script> 
        <script type="text/javascript" src="./jquery-ui.min.js"></script>
        <link rel="stylesheet" href="./jquery-ui.min.css">

    <script type="text/javascript" >
        $(document).ready(function(){    
        $("#billdate").datepicker(
                                    {
                               inline:true,
                                       showOn: "button",
                                       buttonImageOnly: true,
                                       buttonImage: "From_Date_Calendar.jpg",
                                       dateFormat: "dd-M-yy"
                             });
            });
    </script>    
</head>
<body>
    <input type="text" id="country" name="country" />
    bill Date <input type="text" id="billdate" readonly /><br/> 

        <script>
           $("#country").autocomplete("getdata.jsp");
        </script>
</body>
</html>

getdata.jsp

<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="BillmgmtPack.DummyDB"%>
<%
         System.out.println("In get data.jsp"); 
    DummyDB db = new DummyDB();

    String query = request.getParameter("q");

    List<String> countries = db.getData(query);

    Iterator<String> iterator = countries.iterator(); 

    while(iterator.hasNext())
        {
        String country = (String)iterator.next();
        out.println(country);
    }  
%>

DummyDB.java

package BillmgmtPack;

import java.sql.Connection;
import java.sql.DriverManager;

import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.io.*; 
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.*;

import javax.naming.*;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;

public class DummyDB {

    public List<String> getData(String query) {
        String country = null;
        query = query.toLowerCase();
            Connection con=null;
        List<String> matched = new ArrayList<String>();

            try{
        Class.forName("oracle.jdbc.driver.OracleDriver");  
         con=DriverManager.getConnection(  
        "jdbc:oracle:thin:@xxx.xx.xxx.xx:1521:qqqqq","yyyyy","zzzzz"); 
            }catch(Exception e)
         {
            e.printStackTrace();
         } 
                try{
        Statement stmt=con.createStatement();

        ResultSet rs=stmt.executeQuery("select vendor_name from vendor_master where vendor_name like upper('"+query+"%')");
        //System.out.println("rs query-"+query);

        int k=0;
        while(rs.next())
        {
                //System.out.println("in rs query-"+query+"   / "+rs.getString(1));
        matched.add(rs.getString(1));
                k=k+1;
            } 
                    if (k==0)
                    {
                        matched.add("notfound");
                    }    
            }        catch(Exception e)
                     {
                        e.printStackTrace();
                     } 

        return matched;

    }
}

【问题讨论】:

    标签: javascript java jquery


    【解决方案1】:

    JQuery 自动完成也是 jQuery ui 中小部件的名称。也许jQuery ui来代替其他的aucomplete,从而阻止了第一个的操作。

    我建议你删除第一个自动完成并使用jQuery ui 参考Documentation

    【讨论】:

    • 删除了单独的“自动完成”并只保留了“jquery ui”。还是没用
    • 这两个小部件的工作方式不同。您是否去文档查看需要更改的选项(例如 source 选项)?
    猜你喜欢
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2012-06-13
    • 2017-02-23
    相关资源
    最近更新 更多