6

私は次の問題に苦しんでいます。jQueryオートコンプリートプラグインを使用して、サーバーから推奨値のリストを取得します。リストは次のようになります。

Username1 | UserId1
Username2 | UserId2

したがって、「U」と入力し始めると、期待どおりにリスト"Username1""Username2"がポップアップ表示されます。最初の項目を選択すると、<input>の値はになりますが"Username1"実際にサーバーに送信したいのはユーザーIDです。

どういうわけか、ユーザー名に続くIDを取得できますか?テキストボックスの変更時にフォーム投稿を行うつもりです。たぶん私は盲目すぎてドキュメントでそれを見ることができないか、Googleでそれを見つけることができませんか?

4

3 に答える 3

6

これを処理するには、プラグインのresultメソッドを使用します。データは配列としてコールバックに渡され、どこかautocompleteに保存するだけで済みます。data[1]このようなもの:

$("#my_field").autocomplete(...).result(function(event, data, formatted) {
    if (data) {
        $("#the_id").attr("value", data[1]);
    }
});
于 2008-12-16T21:39:58.550 に答える
0

ここにいくつかの方法をリストするつもりでしたが、1 つを除いてすべてジャンクです。オートコンプリート用のリストを生成するために行ってきたように、サーバー上で string->user 変換を行います。

必ずオートコンプリートを維持し、AJAX 検証を行いますが、JS を介してフォーム内の重要なフォーム データ (このようなもの) を密輸しようとすると、ある時点で何かうまくいかなくなります。

さらに、js 以外のユーザー エージェントを処理する必要がある場合は、何らかの方法でこのメソッドを記述する必要があります。

于 2008-12-16T19:54:44.643 に答える
0

参考までに、この記事http://vivien-chevallier.com/Articles/use-bing-maps-rest-services-with-jquery-to-build-an-autocomplete-box-and-find-a-location-dynamically がありますjQueryオートコンプリート「select」イベントを介して呼び出される作成者の関数「displaySelectedItem」を介してそれを行う良い方法です(完全なコードについては記事を参照してください)。

乾杯

マット

于 2012-05-03T06:29:31.183 に答える