Ich versuche, das jQuery UI-Autocomplete-Widget an ein dynamisch hinzugefügtes Eingabefeld zu binden. Ich habe einige der Beiträge hier gelesen, aber keine scheint mir zu helfen.Binden von Autocomplete an ein dynamisch hinzugefügtes Formularfeld
Der Code, den ich benutze kommt von Dynamically adding a form to a Django formset with Ajax und ich habe es leicht geändert, um die Autocomplete zu binden.
Die Bindung scheint jedoch nicht zu funktionieren. Wenn ich das neu hinzugefügte Feld eintippe, wird die Autocomplete-Box nicht angezeigt. Der Code Ich verwende folgt:
function cloneMore(selector, type,field) {
var newElement = $(selector).clone(true);
var total = $('#id_' + type + '-TOTAL_FORMS').val();
newElement.find(':input').each(function() {
var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
var id = 'id_' + name;
if ($(this).attr('type') != 'hidden') {
$(this).val('');
}
$(this).attr({'name': name, 'id': id}).removeAttr('checked');
});
newElement.find('label').each(function() {
var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
$(this).attr('for', newFor);
});
total++;
$('#id_' + type + '-TOTAL_FORMS').val(total);
$(selector).after(newElement);
/* create the selector string and bind autocomplete */
var select_string = "#id_"+type+"-"+(total-1)+"-"+field;
$(select_string).autocomplete({
source: asset_universe_codes,
});
}
Ich habe überprüft, dass die zur automatischen Vervollständigung Quelle innerhalb der Funktion zugänglich ist, so dass ich bin ratlos.
Kann jemand helfen?
Danke,
Jason
Haben Sie versucht, .on() und Delegate()? – Chibuzo
Ich habe nicht, nein. Ich bin relativ neu in jQuery, also war ich mir dieser Methoden nicht bewusst. Delegat sieht aus wie es vielversprechend sein könnte, danke. – xyzjace