0

入力フィールド (mySQL から生成) が多数あり、すべて同じ検索が必要なページでオートコンプリートを使用しようとしています。
単一のオートコンプリートは使用するだけです

$( "#surname" ).autocomplete({
source: "search.php",

だから私はやろうと思った..

$( "input" ).autocomplete({
source: "search.php",

それは問題ありませんが、ルックアップ クエリは、フォームの別のフィールドに入力する必要がある 2 番目の変数を返します。ルックアップ フィールドと他のフィールドには、bar2 と bar3email という関連する名前があります。「入力」オプションを使用して、ルックアップを生成したフィールドをどのように判断して、2 番目の変数を配置するフィールド名を特定できますか??

もっと簡単に言えば、「bar2」というフィールドでオートコンプリートを実行して名前を入力すると、2 番目に返される変数 (関連する電子メール) が「bar2email」というフィールドに入れられます。

ありがとう
スティーブ

4

2 に答える 2

0

select イベントを init オプションとして処理するコールバック関数を提供するか、select イベントにバインドします。select イベントに関するAPIドキュメントを参照してください。

select イベントはeventオブジェクトを渡します。イベント オブジェクトには、 という名前のプロパティがありますtarget。このプロパティを使用して、イベントを開始した DOM 要素を特定できます。このようなものが機能します。

$( "input" ).autocomplete({
source: "search.php",
select: function(event,ui){
         var targetFieldId = event.target.id; //get id of DOM element ie bar2
         var relatedField = document.getElementById(targetFieldId+'email'); //get related field
         relatedField.val(ui.item.value);  // assuming second varible is value
        }
});
于 2013-07-19T16:48:06.317 に答える