Ich habe begonnen, Typeahead.js zu verwenden und habe Mühe, einen Benutzer zu finden, nach einem Firmennamen zu suchen und zu suchen. Geben Sie nach der Auswahl den zugehörigen Buchungskreis ein.Verwenden Sie einen anderen Wert als JSON-Daten anstelle von displayKey, indem Sie Typeahead verwenden
.json Datei:
[{
"company_name": "Facebook",
"code": "fb",
}, {
"company_name": "Google",
"code": "goog",
}, {
"company_name": "Yahoo",
"code": "yhoo",
}, {
"company_name": "Apple",
"code": "aapl",
}, {
"company_name": "Royal Mail",
"code": "rmg.l",
}]
js Script:
var stocks = new Bloodhound({
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.code);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 3,
prefetch: {
url: 'javascripts/stockCodes.json',
filter: function(list) {
return $.map(list, function(stock) {
return {
code: stock
};
});
}
}
});
stocks.initialize();
$('.typeahead').typeahead(null, {
name: 'stocks',
displayKey: 'code',
source: stocks.ttAdapter()
});
Derzeit dies zeigt nur die Liste der Codes, wenn der Benutzer in das Eingabefeld ein. Allerdings würde ich gerne wissen, ob es eine Möglichkeit gibt, sie auf code
Suche zu ermöglichen, aber einmal ausgewählt, der Wert in der Textbox zu sein company_name
? Ist das mit diesem Plugin überhaupt möglich? Jede Hilfe wird sehr geschätzt.
Danke!
Sind Sie können Ihre Datenstruktur ändern? – Tomanow
@Tomanow Ja sicher. Ich dachte nur, dass diese Struktur effizient wäre. Danke – user1779796
Ich habe gerade meine Antwort aktualisiert. Es sollte jetzt genauer sein. – Tomanow