2017-03-29 1 views
0

텍스트 입력 (#MapSearchName)에 자동 완성 위젯을 사용합니다. 소스는 간단한 문자열 배열 (MapListNames)입니다. 자동 완성 결과를 표시하기 전에 검색어를 수정해야합니다.jQuery UI 자동 완성 위젯 : 검색을 수행하기 전에 검색어 편집

내 경우 키릴에서 배열 내용을 문자열 MapListNames에서

그것은 키릴 문자 때 사용자 검색을 사용할 수 있습니다. 사용자가 라틴어를 검색 할 때 검색 결과를 제안하려면 자동 완성이 필요합니다. 나는 썼다 Met2Kir() 라틴어 문자열을 키릴 문자로 변환하는 함수.

요청/응답 기능을 사용하여이 작업을 수행해야하지만, 특히 명확하게 설명되지 않은 자동 완성 문서에서 어떤 작업을 수행해야하는지 알 수 없습니다. 이 검색에 전송되기 전에 사용자 입력이 Met2Kir() 함수에 의해 처리 될 수 있도록 부 : I가 소스와 도움이 필요

$("#MapSearchName").autocomplete({ 
    // source: MapListNames, 
    delay: 0, 
    autoFocus: true, 

    source: function(request, response) { 
     var term = Met2Kir(request.term); 
     response( MapListNames, function(item){ 
      return term; 
     }); 
    } 

}); 

:

여기에 내 코드이다.

전체 상황

는 여기에서 찾을 수 있습니다 : Lyaskovets Citymap (는 불가리아어,하지만 #MapSearchName 잘지도 아래)

JS 코드 citymap.js file

답변

1

이의 끝에 결과를 새로운 배열로 필터링하고 response()으로 다시 보내서 수행 할 수 있습니다. 예 :

$("#MapSearchName").autocomplete({ 
    delay: 0, 
    autoFocus: true, 
    source: function(request, response) { 
    var term = Met2Kir(request.term); 
    var results = $.ui.autocomplete.filter(MapListNames, term); 
    response(results); 
    } 
});