Hirdetés
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Gergello
addikt
Sziasztok !
Egy kis jquery kódban kérném a segítségetek.
Van egy input text mező, amihez csináltam egy kis saját autocomplet funkciót.Működési elve: a szövegmező .on("input" ... eseményére csinálok egy ajax hívást, ami visszakap egy html kódrészletet és ezt kell megjeleníteni.
Helyi teszt szerveren minden tökéletes működött, mert gyors a szerver.
Felraktam az élesre és az a probléma, hogy a néha lassabban jön meg a válasz és ez miatt nem az utolsónak beírt (végső) input mező tartalom alapján kapott eredményt jeleníti meg, hanem az utolsónak befejeződött ajax hívás eredményét.Pl. begépeled, hogy "szerszámkészlet" szépen futnak a hívások, de előfordul, hogy legvégül csak a "szerszámk" keresőszó alapján kapott találatokat jeleníti meg. Hiába látom azt a Chrome Network fülben, hogy az utolsónak küldött ajaxban a "szerszámkészl" adatot küldte el a feldolgozó(válaszadó) résznek.
Szerintetek, hogy oldjam meg ?
Szerintem minden ajax hívásban meg kellene szakítani a korábban indított ugyanilyen hívást. De hogy ? Nagyon köszönöm.Kód:
$('#product_search').on("input", function() {doSearch();});function doSearch() {$search_string = $('#product_search').val();if ($search_is_first_submit || (!$search_is_first_submit && $search_string != $last_search_string)) {$.ajax({url: 'index.php?route=product/search/searchhint',type: 'post',data: 'search=' + $search_string,dataType: 'json',success: function(json) {if (json['success']) {$('#search-hint').html(json['success_text']);}}});}$last_search_string = $search_string;$search_is_first_submit = false;}function showSearchHint() {doSearch();$('#search-hint').removeClass('d-none');}function hideSearchHint() {setTimeout(function () {// Things to do before the focus is out$('#search-hint').addClass('d-none');}, 150);}
Új hozzászólás Aktív témák
- GAMER PC! Ryzen 3900X / RX 7600XT 16GB / B550 / 32GB DDR4 / 500GB NVMe! BeszámítOK
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- Xiaomi 14T Pro 512GB,Újszerű,Dobozaval,12 hónap garanciával
- GYÖNYÖRŰ iPhone 12 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4567
- Eredeti Lenovo 135W töltők (sárga téglalap)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

