これが私のコードです:
$authorizedRow = $('.authorizedRows').html()
$("#name").autocomplete({
source: "userlookup.cfm",
minLength: 3,
select: function(e, ui) {
$('#email').last().attr('value',ui.item.mail).attr('disabled','disabled');
$('#phone').last().attr('value',ui.item.phone).attr('disabled','disabled');
$('.authorizedRows').last().append('<button class="deleteRow">x</button>');
$('.deleteRow').button();
$('#people').append('<div class="authorizedRows">' + $authorizedRow + '</div>').autocomplete( "option", "appendTo", "#name");
},
change: function(e, ui) {
if (a) {
//not used yet
}
}
});
したがって、私がやろうとしているのは、入力フィールドでこのオートコンプリートを使用することです。ユーザーが選択すると、他の 2 つのフィールドがオートフィルされます。これら 3 つのフィールド (名前、電話番号、電子メール) はすべて、authorizedRows div に含まれています。「最後の」authorizedRows divの最後にボタンを追加し、「people」divの最後にまったく新しいauthorizedRows divを追加します。
私の問題は、新しい行が追加された後です。オートコンプリートは、新しい行の新しい名前フィールドでは機能しません。これは、イベント リスナーがまだ DOM 要素にアタッチされていないためです。
ご覧のとおり、 people div セレクターで .autocomplete('option') を使用してこれを解決しようとしました。うまくいきませんでした。動的に作成されたフィールドでオートコンプリートを機能させる方法はありますか? ありがとう。