SOLVED - Typeahead - refresh local data voor Default suggestions

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Bjorn Chin Fo Sieeuw

Bjorn Chin Fo Sieeuw

27/10/2015 15:33:08
Quote Anchor link
Op de volgende website staat een voorbeeld voor het maken van een invulveld met Default suggestions, dus dat het klikken in het veld al een sutocomplete suggestie geeft (er is dan nog niet in het veld getypt, dus minLength: 0):
https://twitter.github.io/typeahead.js/examples/

Ik probeer het werkend te krijgen, en dat is me ook eenmalig gelukt met de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<script type='text/javascript'>
$(window).load(function(){

var nflTeams = new Bloodhound({
   //limit: 5,
   datumTokenizer: Bloodhound.tokenizers.obj.whitespace('team'),
   queryTokenizer: Bloodhound.tokenizers.whitespace,
   identify: function(obj) { return obj.team; },
   prefetch: 'example.json'
 });
 
  nflTeams.initialize(true);
 
  
 function nflTeamsWithDefaults(q, sync) {
   if (q === '') {
     sync(nflTeams.all().slice(0, 2));
   }
   else {
     nflTeams.search(q, sync);
   }
 }
 
 $('#scrollable-dropdown-menu .typeahead').typeahead({
   hint: true,
   highlight: true,
   minLength: 0
 },
 {
   name: 'nflTeams',
   display: 'team',
   //limit: 15,//nfl-teams.length,
   source: nflTeamsWithDefaults
 });

});

</script>
</head>
<body>

<div id="scrollable-dropdown-menu" class="nflTeams">
   <input class="typeahead" type="text" placeholder="NFL Teams" autocomplete="off">
 </div>
</body>


Hier zag example.json er zo uit:
["Detroit Lions", "Green Bay Packers", "Chicago Bears"]

Maar toen ik probeerde om nog meer elementen toe te voegen in deze array, werden ze niet meer ingelezen. Ik denk dat dit te maken heeft met local data die al eenmaal ingelezen was en daarna niet meer werd gerefresht. Nu bevat de dropdown list van het invulveld helemaal niets meer, en wordt ook nog steeds niet de local data gerefresht. Hoe kan ik het zo maken dat de code elke keer bij het toevoegen van elementen in example.json de local data opnieuw wordt gerefresht?

Toevoeging op 27/10/2015 23:07:15:

Opgelost, door bestuderen van deze website:
http://findsupport.xyz/question/21891343/cannot-update-twitter-typeahead-js-prefetch-thumbprint-after-initial-load

Toevoeging op 27/10/2015 23:09:13:

Het bestand example.json ziet er trouwens zo uit:
[{"team": "Detroit Lions"}, {"team": "Green Bay Packers"}, {"team": "Chicago Bears"}]
Gewijzigd op 27/10/2015 23:09:34 door Bjorn Chin Fo Sieeuw
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.