2017-10-19 3 views
-4

Ich schrieb dieses SkriptPlatzierung von JQuery-Skripten mit mehreren anderen Skripten?

$.ajax({ 
    type: "POST", 
    url: "/my/GetTagsByID", 
    data: { 
     Link_ID: LId 
    }, 
    datatype: "json", 
    success: function(result) { 
     $('#tokenfield-typeahead').val('Success 1, Success 2') 
    }, 
    error: function(jqXHR) { 
     alert(jqXHR.status); 
    } 
}) 

Das Problem ist, aber ich weiß nicht, was die genaue Lage von SCRIPTS

sein sollte, wenn ich auf ihn auf diese Weise:

<script src="~/Scripts/jquery-1.10.2.js"></script> 
<script src="~/Scripts/dist/typeahead.bundle.js"></script> 
<link href="~/Scripts/dist/css/tokenfield-typeahead.css" rel="stylesheet" /> 
<script src="~/Scripts/dist/bootstrap-tokenfield.js"></script> 
<link href="~/Scripts/dist/css/bootstrap-tokenfield.css" rel="stylesheet" /> 

Die Ergebnisse sind die folgenden enter image description here

Dies bedeutet, ich kann TokenField verwenden und TypeAhead aber es ersetzt keine Werte $('#tokenfield-typeahead').val('Success 1, Success 2') was bedeutet, ich kann nicht auf jQuery zugreifen?

Aber wenn ich Standort für Jquery Skript diese (moving JQUERY nach unten) wechseln:

<script src="~/Scripts/dist/typeahead.bundle.js"></script> 
<link href="~/Scripts/dist/css/tokenfield-typeahead.css" rel="stylesheet" /> 
<script src="~/Scripts/dist/bootstrap-tokenfield.js"></script> 
<link href="~/Scripts/dist/css/bootstrap-tokenfield.css" rel="stylesheet" /> 
<script src="~/Scripts/jquery-1.10.2.js"></script> 

ich die folgenden Ergebnisse enter image description here

ich nicht Tokenfield verwenden kann, kann ich TypeAhead nicht mehr verwenden .

Was soll ich tun?

Added neuer Code Ich habe den neuen Code hinzugefügt, es scheint, wie JQuery nicht in der Lage ist, als eine Funktion zu erkennen tokenfiled - Wie kann ich dieses Problem zu beheben, wo ich alle erforderlichen Referenzen hinzugefügt habe - Siehe den Code (ich bin gleiche Fehler in der Konsole immer und unabhängig davon, wo ich teste) - Bitte den Code auszuführen, und klicken Sie auf die Schaltfläche

$('#bt').click(function() { 
 

 
    $('#tokenfield-typeahead').tokenfield('setTokens', ['blue', 'red', 'white']); 
 

 
});
<link href="http://sliptree.github.io/bootstrap-tokenfield/dist/css/bootstrap-tokenfield.css" rel="stylesheet" /> 
 
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
 
<script src="http://sliptree.github.io/bootstrap-tokenfield/dist/bootstrap-tokenfield.js"></script> 
 

 

 

 
<input type="text" class="form-control" id="tokenfield-typeahead" value="Temp 1, Temp 2" data-limit="10" placeholder="Enter tags" /> 
 

 
<button id="bt">Click me</button>

enter image description here

Antwort

0

die Lösung gefunden - Danke für TJ, um das Skript in der Konsole

lief entsprechende Beratung

Das Problem wurde, Bootstrap.min.js before Tokenfiled (JS) geladen werden muß - zu tun, dass das Problem behoben und jetzt JQuery kann Identifizieren Tokenfield als eine Funktion und funktioniert wie vorgesehen.Ich weiß immer noch nicht, warum Bootstrap nicht geladen wurde, weil ich es auf meiner _Layout-Seite und im Bundle hatte. In jedem Fall sehe ich, wie kann ich mein Skript-Bundles neu ordnen -

Dank

4

...which means I cannot access jQuery?

Nein, das heißt überhaupt nicht. Es bedeutet nur, dass val nicht das tut, was Sie erwarten.

Das überrascht mich nicht. Es ist extrem wahrscheinlich, dass das Tokenfield-Plugin, das Sie verwenden, müssen Sie eine tokenfield-spezifische Methode verwenden, um die Werte festzulegen, nicht val. Der Blick auf the documentation, so scheint es tokenfield('setTokens', ...) zu sein:

$('#tokenfield-typeahead').tokenfield('setTokens', 'Success 1,Success2'); 

What am I supposed to do?

Setzen jQuery vor allen Plugins, da die Plugins jQuery müssen da sein, um sich anzuschließen; beziehen Sie sich immer auf die Dokumentation als erste Aktion, wenn die Dinge nicht wie erwartet funktionieren; und verwenden Sie die richtige Methode zum Festlegen des "Werts" im Tokenfeld.

+0

ich wieder ausgesehen haben sehr tief und versuchen, diese '$ (‚# tokenfield-typeahead‘) zu tun tokenfield ('setTokens. ', [' blue ',' red ',' white ']); 'aber immer noch kein Glück – aliusman

+1

@aliusman: Bitte aktualisieren Sie Ihre Frage mit einem ** runnable ** [mcve], das das Problem demonstriert, indem Sie Stack Snippets verwenden [<>] 'Symbolleistenschaltfläche), sicher sein, alle Bibliotheken von der bereitgestellten Liste oder einem CDN zu verbinden (wie https://cdnjs.com/). –

+0

Ich bekomme den folgenden Fehler :("Nachricht": "Uncaught SyntaxError: fehlt) nach Argumentliste", – aliusman

Verwandte Themen