簡體   English   中英

自動完成無法正常工作需要幫助

[英]autocomplete is not working help is required

我已經將其應用於輸入類型的文本,但是它不起作用。 我需要一些指導以告訴我我要去哪里。 這是javascript代碼,無法正常工作:

$(document).ready(function () {
    $('#reasondescriptiontxtbox').autocomplete( {
        source: function (request, response) {
            $.ajax( {
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Default.aspx/getReason",
                data: "{'keywords':'" + request.term + "'}",
                dataType: "json",
                async: true,
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    //alert("Error");
                }
            });
        },
        minLength: 2
    });
});

后面的代碼:

[WebMethod]
public static IList<string> getReason(string keywords)
{
    int count = 0;
    IList<string> result = new List<string>();
    string constr 
        = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
    SqlConnection con1 = new SqlConnection(constr);
    SqlCommand cmd1 = con1.CreateCommand();
    cmd1.CommandText = "select distinct Code_Description from CODE_DESCRIPTION_277 where Code_Description '%" + keywords + "%'";

    try
    {
        con1.Open();
        SqlDataReader dr = cmd1.ExecuteReader();

        while (dr.Read())
        {
            count++;
            result.Add(dr["Code_Description"].ToString());

            if (count == 100)
                break;
        }

        con1.Close();

        return result;
    }
    catch
    {
        return null;
    }
}

我需要添加某種jQuery文件嗎?

您的SQL代碼似乎丟失了, like where Code_Description '%" + keywords + "%'" ,這可能是原因嗎?

您將不會獲得任何結果,並且可能是Catch掩蓋的SQL異常。

嘗試將該行更改為

cmd1.CommandText = "select distinct Code_Description from CODE_DESCRIPTION_277 where Code_Description like '%" + keywords + "%'";

如果您使用的是母版頁,則您的javascript代碼應類似於此$('#<%= textbox1.ClientID%>')。autocomplete({

並確保您包含了任何版本的jquery.js

我會將單元測試組織到您的項目中,以便您可以通過getReason輸入隔離地測試getReason 然后,您可以分而治之,以確定問題出在哪里。 如果問題出在客戶端,則需要將調試器連接到瀏覽器,並在處理程序中設置斷點,以檢查本地變量和執行流程。

我添加了類似關鍵字的關鍵字,這也是一個問題,其次,我將其更改為: $('#reasondescriptiontxtbox').autocomplete(更改為: $('input[id$=reasondescriptiontxtbox]').autocomplete(現在可以正常使用了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM