Я решил это сам! во-первых, я сделал внешнюю функцию для инициализации автозаполнения, принимая в качестве параметра источник данных, например:
function initAutocompletePat(patologie){
$('.codpatologia').each(function(i, el) {
el = $(el);
el.autocomplete({
minLength: 0,
source: patologie,
focus: function( event, ui ) {
$(this).val( ui.item.Topography );
return false;
},
select: function( event, ui ) {
$(this).val(ui.item.Topography);
return false;
}
})
.data("autocomplete")._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data("item.autocomplete", item )
.append("<a>" + item.Topography + "<br/>" + item.Description + "</a>" )
.appendTo(ul);
};
});
}
Затем я вызвал мою функцию инициализации в обратном вызове .get, чтобы инициализировать первый оригинальный (не клонированный) элемент, например:
$(function(){
$.get("ajax/lista_patologie.php",function(data){initAutocompletePat(data);},'json');
});
А позже каждый раз, когда я клонирую элемент, я буду называть мой
initAutocompletePat (источник)
функция, передающая ему источник первого элемента в типе с этим:
function aggiungiPat(classe){
var clonedEl = $('.'+classe+':last').clone();
$(clonedEl).find('input:text').val('');
clonedEl.insertAfter('.'+classe+':last');
$('.'+classe).children('img[src*="delete"]').show();
var source = $('.'+classe+':first' ).find('input:text').autocomplete( "option", "source" );
initAutocompletePat(source);
}
this .autocomplete ("option", "source"); получить источник из уже инициализированного элемента управления автозаполнения.
Надеюсь, это кому-нибудь пригодится !!
Спасибо всем в любом случае.