2016-06-27 9 views
0

jQueryUIのオートコンプリートは、次のようなソースが必要です。私のアプリケーションではjQueryUIオートコンプリートのソースデータに別のプロパティ名を使用して

[ { label: "Choice1", value: "value1" }, ... ] 

を、私のウェブサーバは、カールを使用してAPIからデータを取得しています。 labelvalueは同じである必要があるので、私は2つのうちの1つだけを必要とします。サーバーはselectコールバックでアクセスできるid変数を返しますが、問題は発生しません。最後に、プロパティ名 "label"または "value"を使用する代わりに、プロパティ名 "name"を使用します。例えば、私のデータは次のとおりです。

[ { name: "Choice1", id: "1" }, ... ] 

質問:私は前にオートコンプリートに送信するAPIデータを反復処理する必要がありますか、または私が代わりにプロパティ名「ラベルのプロパティ名「name」を使用するようにオートコンプリートを設定することができます"または"値 "?

答えて

1

あなたはsourceする機能を使用してこの操作を行うことができます。

機能:第三の変化、コールバックを、最も柔軟性とオートコンプリートに任意のデータソースを接続するために使用することができますを提供します。コールバックは2つの引数:

A requestオブジェクトを持ちます。これは現在テキスト入力にある値を参照します。たとえば、ユーザーが都市のフィールドに「new yo」と入力すると、オートコンプリートの用語は「new yo」になります。

responseコールバック.1つの引数を必要とする:ユーザーに示唆するデータ。このデータは、提供された用語に基づいてフィルタリングされるべきであり、単純なローカルデータについて上述したいずれかのフォーマットにすることができる。要求中にエラーを処理するためにカスタムソースコールバックを提供する場合は重要です。エラーが発生した場合でも、必ず応答コールバックを呼び出す必要があります。これにより、ウィジェットは常に正しい状態になります。

例:あなたがあなたの質問を編集して、あなたの例のコードの一部が含まれている場合

$(".selector").autocomplete({ 
    source: function(req, resp){ 
    // Get your curl data 
    } 
}); 

、私はあなたに私の答えを向上させることができます。

関連する問題