2009-02-09 2 views
2

Jquery 호출로 반환하는 공백으로 구분 된 값 문자열이 있지만 단어를 행으로 구분하지 않습니다. 데이터를 문자열이나 목록 또는 다른 것으로 반환해야합니까?JQuery 자동 완성 결과 형식?

답변

5

기본적으로 결과는 개행으로 구분됩니다. 공백으로 구분 된 값 목록을 제공하면 반환 된 데이터를 취하여 배열로 변환하는 구문 분석 함수를 제공해야합니다. 대신 값 목록을 제공하면 마찬가지입니다.

다음은 MVC 작업에서 JSON을 통해 문자열 목록을 반환하는 프로젝트의 샘플입니다.

$('#eventName').autocomplete('<%= Url.Action("SearchEvent", "Donor") %>', { 
    dataType: "json", 
    formatItem: function(data,i,max,value,term){ 
     return value; 
    }, 
    parse: function(data){ 
     var array = new Array(); 
     for(var i=0;i<data.length;i++) 
     { 
      array[array.length] = { data: data[i], value: data[i], result: data[i] }; 
     } 
     return array; 
    } 
}); 
+0

예, "구문 분석"덮어 쓰기 방법입니다. jQuery는 Autocomplete에 대한 더 나은 문서를 필요로합니다 (이 주석의 경우 여전히 "jQuery 1.7이 출시 될 예정"). 그러나 기존 코드를 문서화하려는 경우 모든 코드를 문서화해야합니다. parse override를 사용할 때의 유일한 문제는 이제 자동 완성 기능의 모든 기능이 이제는 새 Array()에 전달됩니다. 그래서 이것을 설명해야합니다. tvanfosson은 formatItem 재정의로 디스플레이 형식을 설명하는 방법을 보여주었습니다. 그러나 result() 메서드를 재정의해야 할 수도 있습니다. – eduncan911

1

'|'기호로 구분 된 문자열을 원하는 또 다른 자동 완성 플러그인이 있습니다. 다음과 같은 문자 :

항목 1 | 항목 2 |

사용중인 문서를 확인하고 싶을 수 있습니다.