Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] problem z dostępęm do dynamicznie dodanych elementów...
Forum PHP.pl > Forum > Po stronie przeglądarki
abort
Pracuję nad elementem systemu składania zamówień (wyboru sprzętu). Jednym z elementów tegoż jest zależna lista rozwijana. Dodawanie elementów z dwóch zależnych selectów (kategorie i elementy kategorii) działa elegancko. Dodawane elementy zamówienia wrzucam do diva z id="hwlist" w takiej postaci:
  1. <div id="hwlist">
  2. <div name="6_1_7"> <!-- Schemat: zamówienie nr 6, element z tabeli 1 i wiersza 7 -->
  3. <p class="item">element z6 t1 r7</p>
  4. <p class="button">Usuń</p>
  5. </div>
  6. <div name="5_3_2"> <!-- idem -->
  7. <p class="item">element z5 t3 r2</p>
  8. <p class="button">Usuń</p>
  9. </div>
  10. </div>


I do tego kod jQuery:
Kod
    $('p.button').click(function() {
        alert ("Usuwanie");
    });

Taki prosty, bo... już myślałem, że zgłupiałem. Ale jednak nie zgłupiałem, i mój problem istnieje nadal...
Jeśli w/w kod html zostanie wczytany przez request przeglądarki - kliknę w <p class="button"> i jQ zadziała (wyskoczy mi okienko alertu).
Jeśli ten sam kod html dodam via jQuery - buttony są nieaktywne.
* Przeglądarki: FF10.0.1, Chrome 21, Opera 12.02. (na IE nie piszę)
W czym jest problem, gdzie robię błąd, co zrobić, by to zadziałało tak jak ja chcę (także dla elementów dodawanych)?
BaN
Nie wiem jakiej wersji jquery używasz, ale dodawanie zdarzeń dla elementów, które zostaną utworzone po załadowaniu strony to odpowiednie ustawienie metody .on(), dla poniżej 1.7 można zastosować .live()
mindspeo
Załaduj jquery np. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> przynajmniej zawsze najnowsza wersja będzie.

Jak dodajesz te elementy? Spróbuj dodać je poprzez użycie $parent = jQuery("<div>").addClass("hwlist").unbind('click').bind('click', function() { alert("test"); });
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.