2016-09-16 3 views
2

これで、jQueryUIはキーと値のフォームでキーの「値」と「ラベル」を持つことを期待しているので、既にデータをこのjson形式に変換しました。今私はどのように私のjsonのURLをソースするための最も簡単な方法を確認していないだけです。この問題に関する他のすべての記事は、私の場合ではないデータを読み込んで変換する必要があることを示しています。事前変換されたjson URLでjQuery UIオートコンプリート

getuser.phpでの私のJSONファイル名=ブライアン

[ 
    {"label":"Brian Aa","value":"7e36e"}, 
    {"label":"Brian Ba","value":"3e497"}, 
    {"label":"Brian Bc","value":"c3263"}, 
    {"label":"Brian Cc","value":"5be94"} 
] 

私のオートコンプリートJS:?

$("#test").autocomplete({ 
    source: function(request, response) { 
    "sample.com/getusers.php?name="+$("#test").val(), request, response; 
    }, 
    minLength:2 
}); 

そしてHTML

<div> 
    <label for="tags">Requested By: </label> 
    <input id="test"> 
</div> 

今私が取得しています私が入力するときは何も、私はajaxをセットアップしなければならないと仮定していましたが、私は例を見たと思っていましたJSONが既にフォーマットされていても、それが見つからないような場合には非常に簡単なソリューションです。

+0

"あなたのJSON URLを取得する"必要があるとはどういう意味ですか? – Mike

+0

URLにパラメータ(?name = brian)を指定すると、私の質問に表示されているjsonのダンプのようなjson形式のデータを提供するページ(getuser.php)がある –

+0

たぶん私は睡眠が不足していますが、あなたが何を意味するかはまだ分かりません。あなたはオブジェクトの "ソース"プロパティとしてjson配列を使用したいと言っていますか?最初の例[ここ](https://jqueryui.com/autocomplete/)は配列を使ってそれらを示しています。 – Mike

答えて

0

ソース関数が適切ではない、あなたはサーバーからデータを取得し、呼び出しとして応答を使用し、それはAJAX呼び出しを行うための問題だったAutocomplete API

source: function(request, response) { 
    var url = "sample.com/getusers.php?name="+$("#test").val(); 
    $.get(url).done(function(data){ 
     response(data); 
    }).fail(function(error){ 
     //dosomething here 
    }); 
    } 
+0

それは当てはまりません。そのページの最初の例は、AJAX呼び出しの代わりに配列を使用しています。 – Mike

+0

ええ、私はこれを動作させることができませんでした –

0

を参照してくださいする必要があり、私はちょうどより多くがあったと思いました簡単な方法。

$(function() { 
    $("#test").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
     url: "sample/getusers.php?name="+$("#test").val(), 
     dataType: "json", 
     data: { 
      term: request.term 
     }, 
     success: function(data) { 
      response(data); 
     } 
     }); 
    }, 
    minLength: 2, 
    select: function(event, ui) { 
    } 
    }); 
}); 
関連する問題