2013-05-16 3 views
0

입력 유형 텍스트에이 기능을 적용했지만 작동하지 않습니다. 내가 잘못 가고있는 곳을 알려주는 지침이 필요합니다. 이 자바 스크립트 코드와 작동하지 않습니다 :자동 완성 기능이 작동하지 않습니다. 도움이 필요합니다.

$(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를 어떤 종류의 파일을 추가해야합니까?

+1

완벽하게 잘 작동? 웹 메소드가 호출되지 않았습니까? 오류가 있습니까? –

+0

아니요 어떤 오류도 발생하지 않지만 자동 완성 기능이 작동하지 않습니다. 전체 코드 –

+0

이 제출 된 이유는 어디에서 문제인지 알지 못합니다. 'getReason' 메서드가 호출되는 이유는 무엇입니까? 'null'이 아닌 다른 것을 반환합니까? – Yoav

답변

0

내가 그것도 문제였다 키워드 같은 추가 둘째로 나는이 변경이에 $('#reasondescriptiontxtbox').autocomplete( 을 : $('input[id$=reasondescriptiontxtbox]').autocomplete( 지금은 무엇을 작동하지

2

SQL 코드에 like이 누락되었습니다 (where Code_Description '%" + keywords + "%'"). 원인 일 수 있습니까?

결과가 나타나지 않고 캐치에 의해 마스크 된 SQL 예외가 발생합니다.

당신이 다음 자바 스크립트 코드는이 $ ('# <퍼센트 = textbox1.ClientID %>')처럼해야 마스터 페이지를 사용하는 경우

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

thanx Klors 나는 또한 문제가되고 두 ​​번째로 이것을 변경했다 : $ ('# reasondescriptiontxtbox'). 자동 완성 (this : $ ('input [id $ = reasondescriptiontxtbox]'). 자동 완성 완벽하게 잘 작동 함 –

1

에 그 라인을 변경해보십시오. 자동 완성 ({

당신은 당신이 고립에서 getReason을 테스트 할 수 있도록 내가 조롱 입력으로 프로젝트에 단위 테스트를 구성 할

+0

고맙습니다. $ ('# reasondescriptiontxtbox'). 자동 완성 ($ { 'input [id $ = reasondescriptiontxtbox]'). 자동 완성 (이제는 완벽하게 작동합니다.) –

+0

안녕하세요 다른 사람들도 그 사실을 알 수 있습니다. –

0

jquery.js의 모든 버전을 포함했는지 확인합니다. 그런 다음 나누고 conque 수 있습니다 r을 사용하여 문제가 어디에 있는지 판별하십시오. 문제가 클라이언트 측에 있다면 디버거를 브라우저에 연결하고 처리기에 중단 점을 설정하여 로컬 및 실행 흐름을 검사해야합니다.

관련 문제