/ / jQuery Typeahead - Nicht abgerufener TypeError: Kann die Eigenschaft 'name' von undefined nicht lesen - javascript, jquery, html, twitter-bootstrap, typeahead.js

jQuery Typeahead - Uncaught TypeError: Kann die Eigenschaft 'name' von undefined nicht lesen - javascript, jquery, html, twitter-bootstrap, typeahead.js

Ich benutze die Bootstrap-3 Typeahead Plugin ebenso wie Bootstrap Tag Input Plugin. Ich benutze es so:

<input type="text" id="name" name="test" data-provide="typeahead">

Und die jQuery:

$.get("/design/assets/advertisements/countries.json", function(data) {
$("#name").typeahead({
source: data
});
$("#name").tagsinput({
typeahead: {
source: data
}
});
}, "json");

Der Typkopf und die Tags funktionieren jedoch bis zu einem gewissen Punkt. Wenn ich ein paar Wörter eingebe, bekomme ich Vorschläge, aber wenn ich einen Vorschlag ausgewählt habe, wird alles, was ich geschrieben habe, nach der Tag-Eingabe hinzugefügt.

Beispiel: Wenn ich schreibe "Bah"und wählen Sie"Bahamas", sieht es so aus: (Wo ich glauben würde, dass es die" Bah "löschen würde)

Bildbeschreibung hier eingeben

Ich erhalte diesen Fehler - ich weiß nicht, ob dies der Grund ist:

Uncaught TypeError: Cannot read property "name" of undefined

Der Fehler wird zu dieser Datei aufgerufen: bootstrap3-typeahead.js

Antworten:

5 für die Antwort № 1

Ich habe eine nicht-min-Version des Bootstrap-3-Typeahead-Plugins heruntergeladen und Folgendes geändert:

displayText: function(item) {
return item.name || item;
},

dazu

displayText: function(item) {
if (typeof item == "undefined") {
return "";
}
return item.name || item;
},

Es hat das Problem gelöst.

Eigentlich weiß ich nicht, ob es sich um einen Bootstrap-3-Typ-Plugin-Bug handelt oder um eine Art Inkompatibilität mit Bootstrap-Tags, die ich verwenden.