2011-01-12 13 views
0

誰でもこの問題を助けてくれますか?私は、jqueryのUIオートコンプリートプラグインを使用します。このjsonデータをuiオートコンプリートに渡す方法

[: '{ユーザー名 ': 'user2の}、{' ユーザ名':「ユーザー3} {、user1の 'ユーザ名'}']のようなJSONデータを渡す方法はあります

答えて

2

ユーザー名の配列を作成する必要があります。

var jsonData = [{'username' : 'user1'}, {'username' : 'user2'}, {'username' : 'user3'}]; 
var usernames = $.map(jsonData, function (obj) { return obj.username; }); 

$("#myInput").autocomplete({source: usernames}); 
+0

変数jsonDataはjsonデータを持っています console.log(ユーザー名)return [] - no data – Peter

+0

@Matt: '$ .map'はjQueryオブジェクトを返しません。アレイ; '.get()'を呼び出す必要はありません。 – Domenic

+0

@Peter:コンソールでコードの最初の2行を実行します。問題はコード内の他の場所にある必要があります。あなたのJSONの形式で。それは文字列ですか、多分でしょうか?その場合、JSON.parseを使って実際のJavaScriptオブジェクトに変換します。 – Domenic

0

確かに、プラグインのドキュメントにはこれに関する何かが書かれていなければなりませんが、あなたの質問はせいぜい曖昧です。どのプラグインを使用していますか?データを入れるためのサービス方法はありますか?

+0

これはコメントであり、回答ではありません。私はあなたがまだこの質問にコメントする十分な担当者を持っていないことを認識しています。 –

+0

これは正しいです、そして、頭を与えてくれてありがとう:) –

0

Documentationsourceオプションをチェックアウト:jQueryを使って、次の操作を行うことができます。ローカルのJavaScript配列にすることができます。

+1

用語を誤解しないように理解してください。 http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/ –

+0

Fair。しかし、オートコンプリートが機能するには、JSONを値の配列にする必要があります。明らかではないが、それは誤用ではない。 –

関連する問題