[英]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.