jQuery UI Autocomplete を使用して DB へのリンクを呼び出し、フォームのドロップダウンに入力しています。これは正常に機能していますが、フォームにさらにフォームフィールドを追加する機能もあり (同じ名前/クラスで)、これらにオートコンプリート機能を適用したいと考えています。
これは可能ですか?また、新しいフォーム フィールドのオートコンプリート機能を再呼び出しするにはどうすればよいですか?
私の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 />' );
});
});