1

Ich arbeite an typeahead.js, wo Benutzer nach Name oder Spezialität oder einem anderen Schlüsselwort suchen kann. Jetzt möchte ich die Daten mit drei verschiedenen Feldern füllen. Ich habe drei Felder 1.people, 2. Spezifität 3.park. Die Informationen Benutzertypen in diesen drei unterschiedlichen Segmenten angezeigt werden soll wie in MULTIDATASETTypeahead: Wie kann ich die Liste der Daten in 3 verschiedene Teile trennen? [Like Multidataset]

gezeigt

var nbaTeams = new Bloodhound({ 
 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('team'), 
 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
 
    prefetch: '../data/nba.json' 
 
}); 
 

 
var nhlTeams = new Bloodhound({ 
 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('team'), 
 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
 
    prefetch: '../data/nhl.json' 
 
}); 
 

 
$('#multiple-datasets .typeahead').typeahead({ 
 
    highlight: true 
 
}, 
 
{ 
 
    name: 'nba-teams', 
 
    display: 'team', 
 
    source: nbaTeams, 
 
    templates: { 
 
    header: '<h3 class="league-name">NBA Teams</h3>' 
 
    } 
 
}, 
 
{ 
 
    name: 'nhl-teams', 
 
    display: 'team', 
 
    source: nhlTeams, 
 
    templates: { 
 
    header: '<h3 class="league-name">NHL Teams</h3>' 
 
    } 
 
});
<div id="multiple-datasets"> 
 
    <input class="typeahead" type="text" placeholder="NBA and NHL teams"> 
 
</div>
zu meinem Szenario kommen die Daten in einzelnen Datensatz zeigt nur .. Die Remote-URL-Daten werden Von dem Server kommend, der nicht nur ein einfaches Array ist, ist es Objekt eines Objekts von Objekten. Derzeit kann ich Daten mit einer einzelnen Remote-URL füllen. Aber ich kann Multidataset nicht erreichen. JSFIDDLE: enter here Hinweis: Da die URL von der Server-Seite ist.Ich möchte keine Informationen zu diesem Thema offen legen.In meiner lokalen es funktioniert gut.Nach unten ist das Bild, wie ich Ergebnisse bekomme. enter image description here Jede Hilfe würde sehr geschätzt werden. Danke. JSFIDDLE CHECK HERE

Antwort

0

Ersatz remote bei .typeahead für Bloodhound Antrag zu stellen; templates, suggestion Optionen unter .typeahead, um das Ergebnis bei html gerendert zu setzen. Siehe auch Create customize Type-Head using jQuery and Bootstrap-Typeahead?, Bootstrap Typeahead not showing suggestion which have the valueKey starting with same value

templates: { 
     suggestion: function(data) { // data return from `Bloodhound` 
      console.log(data); 
      return "<ul><li>" + data.result[0] + "<li>" 
        + "<li>" + data.result[1] + "<li>" 
        + "<li>" + data.result[2] + "<li></ul>" 
     } 
    } 
+0

Hallo, Erstmal Danke für die Antwort, es war etwas verwirrend für mich, dies zu verstehen. Wie ich schon sagte, kommen die Daten vom Server in Form von Objekten. Gibt es irgendeine Möglichkeit für Sie, eine Fiddle für ein besseres Verständnis zu machen? – tata

+0

'@tata Siehe https://jsfiddle.net/9gbp5jd5/. Tippe einfach "devloper" oder "project". Beachten Sie, dass Sie auch die Funktion 'substringMatcher' verwenden können, ohne' 'typeahead'' zu verwenden. Http://stackoverflow.com/questions/33739881/how-to-send-data-in-request-body-when-using-typeaheadbloodhound/33765633 # 33765633 – guest271314

+0

Danke für die Hilfe, ich bin etwas näher an meine Lösung, meine Frage ist, können wir Set-1-Namen unter einer Kategorie und Set-2-Namen in einer Kategorie mit oben genannten Überschrift wie Beispiel: - Alle Parks fallen unter eine Kategorie, dh set-1 Alle Lebensmittel unter Kategorie 2 dh Set-2 Gibt es Javascript können wir schreiben? Hinweis: Dies alles sollte im Dropdown-Menü geschehen, wie hier gezeigt: http://code.runnable.com/V-41juBwuSBhFaPv/output – tata

Verwandte Themen