2010-07-22 8 views
32

ich die automatische Vervollständigung auf einem Eingabefeld implementiert haben, aber das Feld nicht zu sehen und Firebug gibt „this.source ist keine Funktion“. Ich habe Autocomplete auf anderen Feldern der gleichen Seite ohne Probleme verwendet. (zwei Textareas).Jquery Autocomplete this.source ist keine Funktion Fehler

Ich verwende den folgenden Code zu debuggen, denselben Effekt, wenn ich aus Skriptdatei oder Firebug Befehlszeile ausführen.

var fakedata = ['test1','test2','test3','test4','ietsanders']; 
$("#omschrijving").autocomplete(fakedata); 

ausgeführt jquery 1.4.2 und jquery ui 1.8.2, beide verkleinerte Versionen.

Hat jemand eine Idee, wie die automatische Vervollständigung auf die Textbereiche gut funktioniert, aber die Ursachen dieser Fehlfunktion an den Eingängen?

Fehler & Stack-Trace:

this.source is not a function 
http://facturatie.autodealers.nl/dev/resources/js/jquery-ui-1.8.2.custom.min.js 
Line 570 
close(Object { name="a"})jquery....min.js (regel 570) 
close(Object { name="a"}, Object { name="c"})jquery....min.js (regel 570) 
response() 
+0

Welche Autocomplete-Plugin verwenden Sie? Es gibt verschiedene Varianten. – Pointy

+0

Könnten Sie Stack-Verfolgung in Firebug aktivieren und die Funktion, in der dies aufgetreten ist, posten? – Maz

+0

Ich verwende die automatische Vervollständigung der jQuery-Benutzeroberfläche, die in Version 1.8.2 der jQuery UI-Bibliothek enthalten ist. auf dem Stapel Arbeits –

Antwort

54

Antwort ist, dass der erste Parameter der zur automatischen Vervollständigung sollte ein Ziel sein, die „Quelle“ Eigenschaft enthält. Dies funktioniert

var fakedata = ['test1','test2','test3','test4','ietsanders']; 
$("#omschrijving").autocomplete({source:fakedata}); 
+1

nicht so peinlich, wie es in einigen Unterlagen anders sagt. Wie kannst du raten? –

+1

Sie können diesen Fehler o.ä. auch sehen, wenn "source" ein Objekt mit Schlüsseln wie '{a: A, b: B, c: C}' ist. Sollen nur einzelne Werte sein, wie in '{" A "," B "," C "}'. – ctlockey

+0

In meinem Fall '$ ("div.") Die automatische Vervollständigung (.),' Ich diesen Fehler hatte, da Klasse '.div' nicht existieren –

4

Wie Shelton erwähnt, die Version von devbridge.com (1.1.3) kollidiert mit jQuery UI (1.8.4). Es funktioniert, indem sichergestellt wird, dass die devbridge-Version nach der Version von jQuery UI geladen wird.

1

Hatte ähnliches Problem für tagedit/automatische Vervollständigung. Es scheint, dass Sie auch die automatische Vervollständigung deaktivieren möchten. Wenn Sie die Quelle auf "false" setzen, werden diese Fehler vermieden.

Lösung:

options.autocompleteOptions.source = false; 
Verwandte Themen