#1 9. April 2014 Hey, ich habe hier ein kleines Script, mit dem man zu einem Landkreis das passende Kennzeichenkürzel suchen kann (z.B. Eingabe München --> Ergebnis M - München) Leider ist mein Script etwas langsam und hängt kurz wenn man etwas eingibt in das input-Feld. Wie kann ich das optimieren? Code: $(document).ready(function(){ $('#search').on('keydown', function(){ $.ajax({ type: "GET", url: "landkreise.xml", dataType: "xml", success: parseXML }); }); function parseXML(xml){ var result = $('#results'); var hint = ''; var searchFor = $('#search').val(); var reg = new RegExp(searchFor, "i"); $(xml).find('record').each(function(){ var link = $(this).find('Link').text(); var code = $(this).find('Code').text(); var landkreis = $(this).find('Landkreis').text(); var landkreisSearch = landkreis.search(reg); if(landkreisSearch > -1){ if (hint == ''){ hint ="<li><a target='_blank' href='" + link +"''>" +code+ "</a> - " + landkreis + "</li>"; } else { hint +="<li><a target='_blank' href='" + link +"''>" +code+ "</a> - " + landkreis + "</li>"; } result.html("<ul>" + hint + "</ul>"); } }); } }); + Multi-Zitat Zitieren
#2 9. April 2014 XML Ajax abfrage Optimieren & Event verzögern wenn du schnell etwas eingibst hängt er, weil er dann für jeden buchstaben das ganze suchen durchläuft. besser wäre das verzögert zu machen, also wenn jemand eintippt. zudem läd er dabei jedes mal die xml neu, das sollte nur einmal gemacht werden. also auslöser eine halbe sekunde nach keydown und die xml nur ein mal laden. hier mal pseudocode weil ich ka hab wie das richtig gehört: Code: var xmltmp=false; $('#search').on('keydown', function(){ if(!xmltmp){ $.ajax({ type: "GET", url: "landkreise.xml", dataType: "xml", success: function(a){xmltmp=a;} }); } clearTimeout($.data(this, 'timer')); var wait = setTimeout(function(){parseXML(xmltmp);}, 500); $(this).data('timer', wait); }); + Multi-Zitat Zitieren
#3 15. Juni 2014 Zuletzt von einem Moderator bearbeitet: 13. April 2017 AW: XML Ajax Suche Ajax Live Suche (mit Quellcode) findest du hier: Input Feld Inhalt live übertragen - RR:Board Wenn du statt JSON lieber XML verarbeiten willst sollte sich das relativ einfach umsetzen lassen wenn du mit dem DOM bewandert bist. + Multi-Zitat Zitieren