我正在使用jQuery UI Autocomplete調用指向數據庫的鏈接來填充表單下拉列表。 這工作正常,但我也有一個函數來添加更多的表單字段到窗體(具有相同的名稱/類),我想將自動完成功能應用於這些。將jquery自動完成添加到頁面加載後添加的字段
這是可能的,以及如何重新調用新的表單域的自動完成功能。
我的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 />');
});
});
我實際上並不需要那個強大的元素,它只是爲了測試的目的(我正在按照這個教程:http://www.web-design-talk.co.uk/58/adding-unlimited-form-字段與jQuery的MySQL /) –