私はjQuery UIオートコンプリート機能を使用しています。私はこれをjQueryのUIで提供されているこの例のように動作させることができます:jQuery UIのオートコンプリート(URLからのJSON)
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#tags").autocomplete({
source: availableTags
});
これは問題なく動作します。
[{"id":12,"phrase":"Ball"},{"id":16,"phrase":"Football"},{"id":17,"phrase":"Softball"}]
どのように私は私のURLを使用することができます:私は戻って、このようなJSONを取得し、そのURLに行くよ場合http://mysite.local/services/suggest.ashx?query=ball
:しかし、私はこのように取得することができます誰が私のデータソースとしてJSONを使用する必要がありますデータソースとして?
私はこのようなソース・オプションを変更しようとしました:
$("#tags").autocomplete({
source: "http://mysite.local/services/suggest.ashx"
});
しかし、それは助けにはなりません。私は、サービスがどのキーワードが入力フィールドに入力されたのかわからないと思いますか?
すべてのポインタが優れています。
あなたの答えをありがとう。 idとphraseの代わりに、返されたJSONをラベルと値に編集できると思います。しかし、返されたJSONを変更した場合は、私の例で正しいソースを使用したのか、何らかの形でサービスに入力したテキストを送信する必要があります。私はサービスが "クエリ"と呼ばれるパラメータを取ることを意味するので、何らかの方法で、そのパラメータもそれに送信する必要があると思います。または、私はここから完全に離れていますか? –
あなたが正しいものを返すが、 'query'という引数を取るようにWebサービスを変更した場合、あなたのコードは' success'ハンドラで単に 'response(data)'を呼び出す以外は上記と似ています。つまり、デフォルトのAJAXリクエストを変更しているので、あなたはそれを自分で行う必要があります。 –
偉大な、私は私の開発コンピュータに戻るときにそれを試してみます。そして、データ:{query:request.term}を書くことによって、右の入力をクエリパラメータとして右に呼び出してWebサービスが呼び出されますか? –