

jQuery - Nahrazení textu a provedení kódu při AJAXComplete
Dobrý den,
1. Potřebuji nahradit text v Labelu. Problém je, že na konci je hvězdička (ve spanu), která se přepíše taky, což ovšem nechci.
2. Potřebuji provést kód po dokončení ajaxu. To lze pomocí ajaxComplete. Ale, když to udělám, tak se volá donekonečna. Potřebuji, aby to provedl pouze jednou.
Prosím Vás o radu.
Děkuji
Tak to nahraď testem s hvězdičkou, ne?
Jak přesně používáš ten Ajax?
Jenže ta hvězdička je v spanu, který má ještě třídu. Ideální by bylo to nahradit celé vyjma posledního znaku.
To jsi nebyl moc konkrétní.
Takhle vypadá label - obrázek1.
Když použiji kód
tak se změní na (obrázek2), což pochopitelně nechci.
Pokud použiji kód
tak se v konzoli zobrazí (obrázek3). Pochopitelně, počet není konečný, pořád se zvyšoval, což je špatně.
A ke změnu textu nedošlo, pouze se smazal původní, ale nic se nepřidalo.
A nevoláš náhodou v ajaxComlete další ajax request?
Ne. Teda aspoň ve vlastním jQuery.
Takže jinak jo? Nebo jak to mám chápat?
Pochopitelně neznám JavaScript šablony, takže to nemůžu vědět.
Ale když to smažu, tak to funguje správně.
Problém je určitě v syntaxi Ajaxcomplete.
Téměř jistě bych řekl, že není.
Ano, sorry. Máš pravdu. Problém je v nastavení textu. Pokud ho smažu a nechám tam pouze log, tak je to v pořádku.
Zacyklí se to když tam přidám tu změnu textu. Otázka je, jak ho správně napsat?
Problém není se samotným ajaxem, ale nastavením textu v něm. Jde o to, že ajaxComplete se nezavolá pouze jednou. console.log to vícekrát vypíše, ovšem změna textu to zacyklí.
V debug mode to jde vidět, že se p ustavičně mění. V OOP by změna, na stejnou hodnotu, neměla na ven efekt, ale tady to očividně funguje jinak.
Proto upravím kód do této podoby
Podruhé to pochopitelně neprojde, nezacyklí se to a výsledek je správný.
Tím jsem pouze vyřešil vzniklý problém, ale neodstranil jeho příčinu.
Jenže, to pravděpodobně souvisí s kódem pluginu a ten měnit nebudu.
Díky
to HTML v tom labelu obsahuje text+span s hvezdickou. Pokud to HTML nahradis cistym textem, tak se pochopitelne tim textem nahradi a zustane tam jen ten text bez dalsich casti toho puvodniho (nyni prepsaneho) HTML. Takze bud tam ten span dopsat, nebo nahradit pouze ten text, ale uz ne ostatni vnorene tagy - jestli je na to vytazeni pouheho textu funkce netusim, ale mohla by byt funkce na vytazeni vnorenych child-tagu, kterou bys vytahnul tu hvezdicku a pak ji zase pridal v puvodnim zneni.
Ano, stačí to upravit na