login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Autocomplete realtime met jQuery (Opgelost)

Offline finduilas - 10/08/2016 14:30 (laatste wijziging 10/08/2016 15:10)
Avatar van finduilasPHP gevorderde Momenteel heb ik een script die een adres aanvult via autocomplete. Dit adres wordt gevormd via een ajax call.

Echter zijn er geen realtime resultaten. Het is pas als ik stop met typen, dat er suggesties weergeven worden. Qua resultaten is dit uiteraard correct.

Echter heb ik zo nooit echt het nut van automatisch aanvullen. De bedoeling is dat er resultaten getoond worden van zodra er 2 tekens zijn. Bij de eerste call vraag ik 30 mogelijkheden op.

De bedoeling is dus om op elk moment iets te tonen (en eventueel wat te werken met een cache die bij een nieuwe keydown aangepast wordt).

Ik heb wel een idee hoe ik zou moeten werken, maar krijg het niet omgezet in code.

Voorlopig heb ik dit:
  1. $( "#straat" ).autocomplete({
  2. source: function( request, response ) {
  3.  
  4. $.ajax( {
  5. url: "http://loc.geopunt.be/geolocation/suggestion",
  6. dataType: "jsonp",
  7. data: {
  8. q: $("#straat").val() + ", "+ $( "#gemeente option:selected" ).text(),
  9. c: 30
  10. },
  11. delay: 0,
  12. success: function( data ) {
  13. cleanArray = [];
  14.  
  15. $.each( data.SuggestionResult, function( key, value ) {
  16. var newaddress= value.substr(0, value.indexOf(','));
  17. cleanArray.push(newaddress);
  18. });
  19.  
  20.  
  21. response(cleanArray);
  22. }
  23. });
  24. },
  25. minLength: 2,
  26. select: function( event, ui ) {
  27. console.log( "Selected: " + ui.item.label );
  28. }
  29. }).focus(function() {
  30. $(this).autocomplete("search", $(this).val());
  31. });;
  32.  
  33.  
  34. $( "#straat" ).keydown(function() {
  35. console.log( "RESULTATEN TONEN?" );
  36. });


Ik zocht al wat rond op het net maar het is allemaal zonder JSON call.. En ik merk dat deze maar uitgevoerd wordt bij een ms stoppen van typen. En zolang dit niet gebeurd, is er ook niets om te tonen.


EDIT: Ik denk dat ik volledig in de verkeerde richting bezig ben en die autocomplete moet loslaten.. Ik kwam namelijk chosen tegen. Als ik kan werken met een dynamische dropdown is mijn probleem opgelost.
https://harvesthq.github.io/chosen/

1 antwoord

Gesponsorde links
Offline Thomas - 10/08/2016 22:47
Avatar van Thomas Moderator Kun je dit niet op grond van een aantal condities doen?
- indien het textveld de focus heeft, en
- er minimaal 2 tekens zijn ingetypt, en
- er een timeout is opgetreden die elke X seconden wordt gezet, en
- de combinatie van letters is veranderd sinds de laatste keer dat er resultaten werden opgevraagd

?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.17s