Buongiorno a tutti,

Ho realizzato un widget jquery partendo dall'autocompletamento ma c'è qualcosa che non va quando eseguo la page mi va sbito in errore :

Uncaught TypeError: undefined is not a function su -> $("#"+idCampo).mrautocomplete({

Perchè? mi sapete dare una mano.

Grazie mile.


codice:
$.widget('custom.mrautocomplete', $.ui.autocomplete, {
    /// bla bla bla
});									
																				
function autocomplete (idCampo, swHeader, columnsHeader, minLeng, aFocus, viewScroll, urlAjax, dataAjax ){
	
	if(dataAjax != null){
	   urlAjax = componiURL(urlAjax, dataAjax);
	}
	
	$("#"+idCampo).mrautocomplete({
	    showHeader:  swHeader,
	    columns:     columnsHeader,
	    minLength:   minLeng,
	    autoFocus:   aFocus,
        cacheLength: 1,
        scroll:      viewScroll,
        highlight: true,
	    source:  function( request, response ) {
	        $.ajax({
	        	dataType: "json",
	            url: urlAjax,
	            data: {
	              id: request.term
	            },
	            success: function( data ) {
	                	response( data );
	             },
				error: function (xhr, textStatus, errorThrown) {
						var errorMessage = "Ajax error: " + this.url + " : " + textStatus + " : " + errorThrown + " : " + xhr.statusText + " : " + xhr.status;
						if (xhr.status != "0" || errorThrown != "abort") {
							alert(errorMessage);
						}
				}
	          });
	    }
	});
}


function autocompleteMin (idCampo, columnsHeader, minLeng, urlAjax, dataAjax ){
	autocomplete (idCampo, true, columnsHeader, minLeng, true, true, urlAjax, dataAjax );
}


function componiURL (urlAjax, dataAjax){
	
	var primoElemento = true;
	
	$.each(dataAjax, function(nome, valore) {
		
		var separatore = "&";
		
		if(primoElemento){
			primoElemento = false;
			separatore = "?";
		}
		
		urlAjax=urlAjax+ separatore +nome+"="+valore;
	});


	return urlAjax;
}