|
|||||||
|
|
|
![]() |
|
|
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: 2780
|
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: 18:46.



















