- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Rap, Hip-hop 90'
- btz: Internet fejlesztés országosan!
- hege8888: Retro Kocka Kuckó 3
Hirdetés
-
LOGOUT
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
- Milyen videókártyát?
- Nincs kill switch az NVIDIA chipekben
- Battlefield 6
- Nvidia GPU-k jövője - amit tudni vélünk
- Google Pixel topik
- BestBuy topik
- Kínai és egyéb olcsó órák topikja
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Könyvajánló
- Vezetékes FEJhallgatók
- További aktív témák...
- Lenovo ThinkPad Yoga 2in1 Touch Laptop! AMD Ryzen 7 PRO 7730U / 16GB 3200MHz / 256GB NVMe
- HIBÁTLAN iPhone 14 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3147
- HIBÁTLAN iPhone 14 Pro Max 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3146
- HIBÁTLAN iPhone 14 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3145
- Nitro ANV15-52 15.6" FHD IPS i9-13900H RTX 5050 MaxQ 32GB 1TB NVMe gar
- Vivo Y76 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- iKing.Hu - Apple iPhone 15 Plus Black Használt, karcmentes 256 GB tárhely 3 hónap garancia!
- DELL Precision 7540 - Intel Core i9-9980HK, RTX 3000 (nagyon erős GPU-val)
- Gyors, Precíz, Megbízható TELEFONSZERVIZ, amire számíthatsz! Akár 1 órán belül
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
Állásajánlatok
Cég: FOTC
Város: Budapest