ksenonlogin
26.04.2013, 11:27:47
Witam
Mam taki problem, a raczej zawsze się z nim spotykam, chodzi o to że strona ma formularz do przeliczenia danego produktu, przez klikanie znaku -/+, działa dzięki skryptowi opartemu o jQuery, jednak ten sam skrypt jest wykorzystywany w polu które jest załadowane w polu przez ajax po kliknięciu jakiegoś tam linku i ten sam przelicznik juz nie działa, z ciekawości spróbowałem zapisać ten kod od razu bez ładowania go w tym polu i działa, czy tak jakby fragment wczytany nie był juz zauważany przez skrypty w <head>, juz kiedys z tym się spotkałem i czy przypadkiem ktoś nie wie jak to rozwiązać?
Z góry dzięki za wskazówki
viking
26.04.2013, 11:54:02
Elementy dodawane później nie występują w drzewie DOM podczas dodawania do nich akcji stąd nie wiedzą że ma wystąpić zdarzenie. Potrzebujesz poczytać o delegacji zdarzeń. (jquery.on)
ksenonlogin
26.04.2013, 12:33:33
Hmm, czytam i jest to nie głupie, ale trudno mi jakoś się przestawić czy raczej poprawnie składać to w całość, chciałbym prosić o pomoc przerobienia jednego skryptu bym zobaczył jak to ma być zbudowane poprawnie z wykorzystaniem jQuery.on a z resztą sobie już poradzę. niżej skrypt.
$('input.piecesunit').keyup(function() {
var rodzic = $(this).closest(".plusminusunit");
var item = rodzic.find("input");
var $thisCena = rodzic.find("p.kwota");
var Cena = $thisCena.attr("alt");
var policz = item.val() * (Cena);
rodzic.find('p.kwota').text(policz.toFixed(2));
});
Wielkie dzięki, działa, głowiłem się co źle robię z tym jQuery.on, a problem był w nie aktualnej wersji jQuery, a miałem 1.4...
Dzięki za pomoc