2011-01-24 2 views
2

내 jquery 자동 완성 플러그인은 초기 검색 결과를 유지하며 새 검색 결과로 대체하지 않습니다. 내 ASP 코드는 다음과 같다 :jQuery .autosuggest 결과가 유지됩니다.

<body> 
<form id="form1" runat="server"> 
    <asp:TextBox ID="txtSearch" class="controls_icr_searchbox" runat="server" 
        style="width:200px;"/> 
</form> 
</body> 

Ajax 호출을 만드는 jQuery를이 보이지만 :

$(document).ready(function() {  
     $('.controls_icr_searchbox').keyup(function() { 
      if ($('.controls_icr_searchbox').val().length > 4) { 
       //Code to fetch 
       //var divToBeWorkedOn = '#AjaxPlaceHolder'; 
       var parameters = "{'query':'" + 
            $('.controls_icr_searchbox').val() + "'}"; 
       var url = 'AutoComplete.asmx/GetAddress'; 
       $.ajax({ 
        type: "POST", 
        url: url, 
        dataType: "json", 
        data: parameters, 
        contentType: "application/json; charset=utf-8", 
        success: function (data) { 
         var datafromServer = data.d.split(":"); 
         $("[class$='controls_icr_searchbox']").autocomplete({ 
          source: datafromServer 
         }); 
        }, 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
         alert(textStatus); 
        } 
       }); 
      } 
      });  
    }); 

AJAX 호출이 좋은 결과마다 반환하지만 그들이에 표시되지 않습니다 .autocomplete 이벤트에 바인드됩니다.

답변

0

내 문제의 원인을 발견했습니다. 성공적으로 아약스 쿼리의 결과를 후퇴 후 다음 코드를 사용하여 자동 완성에 할당하려고 :

$("[class$='controls_icr_searchbox']").autocomplete({ 

는 이상하게도이 첫 번째 인스턴스에 근무하지만 이후 변경에 실패했습니다. 이제 위 코드 대신 다음 코드를 사용하여 코드가 올바르게 작동합니다.

$(".controls_icr_searchbox").autocomplete({ 
관련 문제