这是我的代码:
$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
}
}
});
所以,我想做的是在输入字段上自动完成,当用户选择它时,它将自动填充另外两个字段。这三个字段(姓名、电话和电子邮件)都包含在我的 authorizedRows div 中。它将在“last”authorizedRows div 的末尾附加一个按钮,然后在“people”div 的末尾附加一个全新的 authorizedRows div。
我的问题是在新行追加后,自动完成将无法在新行中的新名称字段上工作。这是因为事件侦听器尚未附加到 DOM 元素。
如您所见,我尝试通过在人员 div 选择器上使用 .autocomplete('option') 来解决此问题。它没有用。有什么想法可以让自动完成功能在我动态创建的字段上工作吗?谢谢。