Wpis z mikrobloga

Nie lubię #js, #jquery i #ajax, ale czasem trzeba z tym się pobawić.
Nawet nie wiem jak to napisać, ale za pomocą tego:

$('#costslist').find('tbody').append(html);
dodaję wygenerowany przez twig kod html, który dodaję do tabelki o id costsList
W tabelce dla każdego wiersza są funkcje Edytuj i Usuń. Po kliknięciu dane funkcje działają ale tylko dla wierszy załadowanych od razu. Nie działają dla wierszy świeżo dodanych poprzez jquery.
Domyślam się, że jest coś nie tak z elementami DOM.
Nie generuje ich i właśnie moje pytanie jest takie jak zrobić, aby było dobrze?
Da się jakoś zamienić HTML na elementy DOM?

#programowanie #pytanie #kicochpyta #symfony #php #programista15k #javascript
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nophp: podpinasz zapewne w ready(), kiedy elementów "nowych" jeszcze nie ma, bo załadują się dopiero potem. opcje masz dwie: albo po appendzie wywołujesz jeszcze raz przypięcie handlerów do tych nowych elementów (chyba musisz uważać żeby nie przypiąć 2x, nie pamiętam czy jQ pilnuje samo z siebie czy nie) albo musisz przypiąć się z obsługą eventu gdzieś do document podając do on selektor. czyli zamiast $('.przycisk').on('click', handler) to $(document).on('click', '.przycisk', handler)
  • Odpowiedz