2013-08-14 5 views
3

저는 jquery UI 자동 완성을 사용하고 있습니다. 자동 완성 소스는 Ajax 요청에서 나옵니다. 그런 다음 사용자가 옵션을 클릭하면 서버에서 해당 옵션과 관련된 데이터를 가져 오기 위해 또 다른 Ajax 요청을했습니다.자동 완성 아약스 요청

Erveything은 두 번째 Ajax 요청 이후 자동 완성 상자에 무언가를 입력하면 두 번째 요청에서받은 데이터를 보여줍니다.

제 request's 데이터는 그것이 자리 requestin 번째의 결과를 도시 한 제 최우선 데이터 ...

이다. 그러나 그 후에 autocomplete에 다시 입력하면 소스로서 성공 요청에 들어오는 데이터가 필요합니다! 마지막 데이터가 자동 완성 소스로 사용되고 있습니다!

이 문제를 해결해 주시겠습니까?

Here's 내 코드 :

$("#sinput").autocomplete({ 
    source: function (request, response) { 
       $.ajax({ 
        type: 'GET', 
        url: 'Handlers/AutoCompleteHandler.ashx?type=html', 
        dataType: "json", 
        cache: false, 
        data: { term: request.term }, 
        success: function (data) { 

         response($.map(data, function (item) { 
          return { 
           label: item.label, 
           id: item.value, 
          }; 
         })); 
        }, 
       }); 
      }, 
      minLength: 3, 
      select: function (event, ui) { 
       var content_id = ui.item.id; 
       $.ajax({ 
        type: 'GET', 
        url: 'Handlers/GetContentHandler.ashx?id=' + content_id + '&type=html', 
        dataType: 'json', 
        cache: false, 
        success: function (data) { 
         $('#placeholder').html(data[0].label) 
        } 
       }); 
      } 
     }); 

답변

0

서버에서 두 번째 AJAX 요청에 대한 데이터를 반환하지만, 대신에 '라벨'의 다른 이름을보십시오.

관련 문제