我正在使用 jQuery UI 自动完成来调用数据库的链接来填充表单下拉列表。这工作正常,但我还有一个功能可以向表单添加更多表单字段(具有相同的名称/类),我想将自动完成功能应用于这些。
这可能吗,我怎样才能重新调用新表单字段的自动完成功能。
我的javascript代码如下...
var count = 0;
$(function(){
$('input.books').each(function() {
var autoCompelteElement = this;
var formElementName = $(this).attr('name');
var hiddenElementID = formElementName + '_autocomplete_hidden';
/* change name of orig input */
$(this).attr('name', formElementName + '_autocomplete_label');
/* create new hidden input with name of orig input */
$(this).after("<input type=\"hidden\" name=\"" + formElementName + "\" id=\"" + hiddenElementID + "\" />");
$(this).autocomplete({source:'search.php', minLength: 3,
select: function(event, ui) {
var selectedObj = ui.item;
$(autoCompelteElement).val(selectedObj.label);
$('#'+hiddenElementID).val(selectedObj.value);
return false;
}
});
});
$('p#add_field').click(function(){
count += 1;
$('#books').append(
'<tr>'
+ '<td><input type="text" name="BookName_' + count + '" id="BookName" class="books" /> </td>'
+ '<td><input type="text" name="Length_' + count + '" id="Length_' + count + '" /> </td> '
+ '<td><input type="text" name="ISBN_' + count + '" id="ISBN_' + count + '" /> </td> '
+ '<td><input type="text" name="Year_' + count + '" id="Year_' + count + '" /> </td>'
+ '</tr>'
+ '<strong>Link #' + count + '</strong><br />' );
});
});