1
안녕하세요, 저는 여러 가지 다른 방법을 시도했지만 제대로 작동하지 않는 것 같습니다. 누군가 아래 코드를 살펴보고 나에게 도움을 주시겠습니까? document.ready 내부asp.net jquery json autocomplete
JQuery와 :
$('#<%=txtSearch.ClientID %>').keyup(function() {
if ($('#<%=txtSearch.ClientID %>').val().length > 1) {
$("#<%=txtSearch.ClientID %>").autocomplete({
source: function(request, response) {
$.ajax({
url: "../cspm/s3.asmx/SearchSrn",
data: "{ 'prefixText': '" + request.term + "', count: '5' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item.keyword
}
}))
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 2
});
Asp.net 마크 업 :
<asp:Label ID="lblSearch" runat="server" Text="Search: " Width="50px" /><asp:TextBox ID="txtSearch" runat="server" Width="450px" />
서버 측 웹 서비스 코드 :
<WebMethod(), System.Web.Script.Services.ScriptMethod()> _
Public Function SearchSrn(ByVal prefixText As String, ByVal count As Integer) As String()
Dim results As New ArrayList
Dim searchText As String() = prefixText.Split(New Char() {" "c})
sql = New StringBuilder()
sql.Append("select rownum,b.* from ")
sql.Append("(select distinct a.* from imsi_keyword_lookup_b a ")
sql.Append("where keyword like upper('%" + searchText(0).ToUpper() + "%') ")
For i As Integer = 1 To searchText.Length - 1
If searchText(i) <> "" Then
sql.Append("and keyword like '%" + searchText(i).ToUpper() + "%' ")
End If
Next
sql.Append("order by rank desc) b ")
sql.Append("where rownum <= 5 ")
Using rdr As System.Data.IDataReader = db.ExecuteDataReader(sql.ToString())
Dim counter As Integer
While rdr.Read
If (counter = count) Then Exit While
results.Add(rdr("keyword").ToString())
counter += 1
End While
End Using
Dim ResultsArray(results.Count - 1) As String
ResultsArray = results.ToArray(GetType(System.String))
Return ResultsArray
End Function
감사합니다,
나단
답장을 보내 주셔서 감사합니다. 나는 그것이라고 생각하지 않는다, 나는 asp.net autocomplete extender와 같은 방법을 사용했다. 그리고 그것은 잘 동작했다. 문제가 jquery에있는 것 같습니다. – Nathan
성공 또는 오류 상태에 도달 했습니까? 전혀 실행되지 않습니까? – Khodor
정적/공유 메서드로 바뀌 었으며 jquery에서 오류가 발생했습니다. 다른 아이디어? – Nathan