2016-05-26 4 views
1

問題:serviceUrlを使用すると、Devbridgeのオートコンプリートはうまく動作しますが、サーバ側で検索方法を実装していないため、提案リストをソートしません。Devbridge autocomplete serviceUrl and lookup

私はクライアント側で並べ替えを使用することをお勧めします。 look up属性は正常に動作しますが、ローカル配列でのみ機能します。

まず、サーバー側は、devbridgeが提案したjsonの書式設定で正しい答えを返します。 データをフェッチして配列に格納し、lookupに渡す関数を実装しました。

var jsonData= (function() { 
    var result; 
    jQuery.ajax({ 
     type:'GET', 
     url:'index.php?option=com_crowdfunding&format=raw&task=project.loadLocations', 
     dataType:'json', 
     async:true, 
     success:function(data){ 
      result = data; 
     } 
    }); 
    return result; 
})(); 


jQuery('#autocomplete-ajax').autocomplete({ 
    lookup:jsonData, 

サーバーからのデータがないうちにスクリプトがさらに実行されることがわかりました。属性async:falseはすべての私の問題を解決すると思っていましたが、私はその貢献がすでに価値が下がっている問題に直面していました。

答えて

0

これを試してみてください:

$(document).ready(function() { 
    var jsonData= (function() { 
     var result; 
     jQuery.ajax({ 
      type:'GET', 
      url:'index.php?option=com_crowdfunding&format=raw&task=project.loadLocations', 
      dataType:'json', 
      success:function(data){ 
       result = data; 
      } 
     }); 
     return result; 
    }); 
    jQuery('#autocomplete-ajax').autocomplete({ 
     lookup:jsonData, 
    } 
}); 
関連する問題