2011-03-04 8 views
2

자동 완성 입력 필드를 처리하려고합니다. 사용자가 해당 필드에 글자를 입력 할 때마다 필드의 값이 서버로 전송되고 서버는 일치하는 단어로 응답합니다. json json 및 매개 변수를 사용하여 자동 완성

var acOptions = { 
      source:function (request, response) { 
       $.ajax({ 
        url: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw", 
        type: "GET", dataType: "json", 
        data: { expr: request.term}, 
        success: function (data) { 
         response($.map(data, function (item) { 
          return item.value; 
         })) 
        } 
       }) 
       }, 
    minChars: 1, 
    dataType: 'json' 
}; 

$("#search_box_input").autocomplete(acOptions); 

는 서버에서 데이터의 예는 다음과 같습니다

[{"value":"Greater"},{"value":"great"},{"value":"greatly"},{"value":"Greater-Axe"}] 

앞의 코드는 서버 (오른쪽 서버 응답)에 대한 권리 요구를 할 수 있지만 텍스트에 아무것도 표시되지 않습니다 들.

나는 명시 적 아약스 객체없이 자동 완성을 시도했지만 그때 서버에 필드 (요청의 매개 변수 "EXPR")의 현재 값을 보낼 수 없습니다 :

var acOptions = { 
     source: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw&expr=", 
     minChars: 1, 
     dataType: 'json' 
}; 
$("#search_box_input").autocomplete(acOptions); 

감사합니다 너의 도움으로!

+0

첫 번째 해결책은 이제 정상적으로 작동합니다! –

답변

0

jQuery를 사용하여 필드 값을 가져 와서 URL 매개 변수 문자열에 추가 할 수 있습니다.

var acOptions = { 
     source: "index.php?option=com_fmw&view=keywords_api&controller=keywords_api&format=raw&expr=" + $('#ID_OF_YOUR_TEXTBOX').val(), 
     minChars: 1, 
     dataType: 'json' 
}; 
$("#search_box_input").autocomplete(acOptions); 
관련 문제