- Melyik tápegységet vegyem?
- Gaming notebook topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- Bluetooth hangszórók
- Fujifilm X
- Kormányok / autós szimulátorok topikja
- HDD probléma (nem adatmentés)
- Amlogic S905, S912 processzoros készülékek
- Azonnali VGA-s kérdések órája
-
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
- Elektromos autók - motorok
- Autós topik
- Melyik tápegységet vegyem?
- Gaming notebook topik
- Austin F.: Intel Iris Xe driver frissítés
- iPhone topik
- Formula-1
- AMD Navi Radeon™ RX 9xxx sorozat
- BestBuy topik
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- További aktív témák...
- AKCIÓ! Gigabyte H610M i5 12400F 16GB DDR4 512GB SSD RX 6700XT 12GB Zalman S2 TG Seasonic 650W
- Olcsó Laptop! Dell Latitude 7280. I5 7300U / 8GB DDR4 / 256GB SSD
- Bomba ár! Dell Latitude 7390 2in1 - i7-8G I 16GB I 256SSD I 13,3"FHD Touch I HDMI I Cam I W11 I Gar
- Creative Sound BlasterX G5 (70SB170000000) (Sound Blaster) (DAC) (ELKELT)
- Huawei Nova Y70 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest