很抱歉询问人们已经提出的问题(例如:
jQuery autocomplete for dynamically created inputs)
但是,尽管我在互联网上找到了帮助,但我无法继续工作。 所以,我需要使用动态创建输入的Jquery自动完成。 我的代码如下:$("#add_ligne2").live("click", function() { ...
if (nb_ligne < 10) {
var html = "";
var next_ligne = last_ligne;
html = '<tr rel="' + next_ligne + '">';
html += '<td><input type="text" id="autoCompleteProjets' + next_ligne + '"/></td>';
html += '</tr>';
$("#content_tr").append(html);
$('#autoCompleteProjets1', html).autocomplete(autocomp_opt);
}
}
var autocomp_opt = {
source: "/index/autocomplete",
minLength: 2,
select: function(event, ui) {
/* console.log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value
);*/
$('.hidden').val(ui.item.id);
}
}
答案 0 :(得分:0)
你使用固定ID“autoCompleteProjets1”,我相信你想要“autoCompleteProjets”+ next_ligne
$('#autoCompleteProjets' + next_ligne, html).autocomplete(autocomp_opt);
你可能已经拥有它,但无论如何我都会提到它 - 确保你在匿名函数之外初始化last_ligne,否则你创建局部变量,一旦超出范围就会被取消:
var last_ligne = 0;
然后,你不增加last_ligne变量,使用它:
var next_ligne = ++last_ligne;
最重要的是:在firefox中使用firebug,或者在其他浏览器中使用firebug,以找出你真正生成的内容。