2017-01-12 4 views
1

Ich habe zwei jQuery-Versionen auf meiner Seite geladen;jQuery-Konflikt für Autocomplete

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> 
<script>var jq = jQuery.noConflict();</script> 

<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

Ich versuche, die automatische Vervollständigung Plugin von https://github.com/devbridge/jQuery-Autocomplete/ zu verwenden (es ist nicht mit 1.4.2 funktioniert) so habe ich 1.9.1 jQuery-Version hinzuzufügen.

Ich kann 1.4.2 überhaupt nicht entfernen, da das Entfernen so meinen vorhandenen Code bricht.

Ich habe versucht, die Reihenfolge der Bibliotheken zu ändern, aber kein Glück.

FYI jq("#elem").hide(); usw. funktioniert und andere jQuery native stuff. aber wenn ich es verwende, um das Autocomplete-Plugin zu binden, kann es mich nicht verrückt machen;

als jq('#searchbox').autocomplete(); Bindung der Fehler, den ich in der Konsole zu sehen ist

TypeError: jq(...).autocomplete is not a function

PS: Ich habe auch versucht <script>var jq = jQuery.noConflict(true);</script> ohne Erfolg.

Vielen Dank für jede Hilfe!

+0

Der Fehler ist nur auf dem Autovervollständigen? Können Sie Elemente zum Beispiel mit beiden Versionen auswählen? –

+0

@CarlosMartins Ja, ich erwähnte in der Frage, dass andere Sachen wie jq ("# elem") funktionieren. Hide(); usw. für beide Versionen. Es ist nur das Plugin, es erkennt es nicht. – Alyas

+0

Verwenden Sie die jQuery UI-Bibliothek? Es gibt ein bekanntes Problem in Verbindung mit diesem https://www.devbridge.com/sourcery/components/jquery-autocomplete/ –

Antwort

1

Funktioniert das für Sie? Ich habe keinen Fehler dabei.

jq('#autocomplete').autocomplete({});
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.devbridge-autocomplete/1.2.27/jquery.autocomplete.min.js" type="text/javascript"></script> 
 

 
<script type="text/javascript"> 
 
var jq = $.noConflict(true); 
 

 
</script> 
 

 
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<input type="text" name="country" id="autocomplete"/> no error

+0

Danke, arbeitete wie ein Charme, indem Sie Plugin js-Datei vor dem Einfügen von anderen jQuery die Arbeit gemacht. – Alyas

+1

froh, dass es funktioniert hat. – codenut

Verwandte Themen