|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2006
Messaggi: 18
|
[Jquery] Problema creazione widget autocompletamento
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; } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
In passato mi sono capitati problemi simili e il problema era che avevo incluso due volte jQuery. In pratica la seconda inclusione cancellava tutti i plugin che venivano creati tra la prima e la seconda inclusione. Essendo ridefinito, jQuery veniva riportato allo stato iniziale.
Questo e' un caso simile, perche' immagino che se effettui un debug e ti porti subito dopo la definizione del plugin, scrivendo nella console $().mrautocomplete la troverai definita. Evidentemente tra la definizione e la chiamata alla funzione autocomplete avviene qualcosa che cancella il plugin. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:55.