2017-03-29 7 views
0

テキスト入力(#MapSearchName)にオートコンプリートウィジェットを使用しています。ソースは文字列の単純な配列です(MapListNames)。オートコンプリートの結果を表示する前に、検索語を変更する必要があります。jQuery UIオートコンプリートウィジェット:検索を実行する前に検索条件を編集

私の場合、キリル文字で配列の内容の文字列 MapListNamesで

、それはキリル文字でときに、ユーザーの検索を動作します。ユーザーがラテン語で検索したときに検索結果を提案するオートコンプリートが欲しい。私は書いたMet2Kir()ラテン文字列をキリル文字列に変換する関数。

これはリクエスト/レスポンス機能を使用して行う必要があることがわかりましたが、特に明記されていないオートコンプリートのドキュメントでは、それを行う正しい方法を推測できません。それは、検索のために送られる前に、任意のユーザ入力がMet2Kir()関数によって処理されるように、一部:私はソースといくつかの助けが必要

$("#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); 
    } 
});