Verwenden Sie einen anderen Wert als JSON-Daten anstelle von displayKey mit Typeahead

Ich habe begonnen, Typeahead.js zu verwenden, und habe Mühe, eine Möglichkeit zu finden, einem Benutzer die Eingabe und Suche eines Firmennamens zu ermöglichen, nachdem der zugehörige Buchungskreis ausgewählt wurde.

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 wird nur die Liste der Codes angezeigt, wenn der Benutzer diese in das Eingabefeld eingibt. Ich würde jedoch gerne wissen, ob es eine Möglichkeit gibt, nach ihnen zu suchencode aber einmal ausgewählt, soll der wert im textfeld seincompany_name? Ist das überhaupt mit diesem Plugin möglich? Jede Hilfe wird sehr geschätzt.

Vielen Dank!

Antworten auf die Frage(6)

Ihre Antwort auf die Frage