Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][JavaScript]Jak zmusić skrypt do działania po dodaniu elementu?
phpamator
post 11.01.2017, 13:41:50
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Hej,
Panowie i Panie (jużmi kiedyś jedna powiedziała "dlaczego zawsze tylko 'Panowie. ...' a gdzie "One" ... wink.gif")

Buduję sobie tabelkę w której Jquery dodaje wiersze na żądanie.
Ale po dodaniu nie działają funkcje przypisane do poszczególnych elementów.
Co powinienem zrobić aby skrypty "widziały" te dodane elementy ?
Ogólnie rzecz biorąc ponieważ w wielu przypadkach generuję "gotowe" elementy i wrzucam do treści strony ten problem jest trochę irytujący.
Rozwiązuję to ładując kolejne kopie tego samego skryptu wraz z elementami wklejanymi do zawartości ale to chyba głupi pomysł prawda ?
Jak więc zmusić skrypt aby po każdorazowym dodaniu elementu chciał z nim działać ?


Pozdrawiam
phpamator
Go to the top of the page
+Quote Post
nospor
post 11.01.2017, 13:45:33
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro uzywasz jQuery to zainteresuj sie funkcja .on() ktora to pilnuje by raz przypisane zdarzenia podczepialy sie tez do nowych elementow


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
poli25
post 11.01.2017, 13:49:58
Post #3





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

Ostrzeżenie: (0%)
-----


funkcja .live()
  1. http://api.jquery.com/live/

Go to the top of the page
+Quote Post
viking
post 11.01.2017, 13:54:13
Post #4





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Cytat(poli25 @ 11.01.2017, 13:49:58 ) *
funkcja .live()
  1. http://api.jquery.com/live/


Chyba żartujesz. Już dawno usunięta.
Poczytaj: https://prophp.pl/article/15/jquery%2C_zdar...e_metoda_%24.on


--------------------
Go to the top of the page
+Quote Post
Puszy
post 11.01.2017, 13:54:50
Post #5





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Cytat(poli25 @ 11.01.2017, 13:49:58 ) *
funkcja .live()
  1. http://api.jquery.com/live/


Live jest przestarzałe. Tak jak napisał Nospor: .on() http://api.jquery.com/on/
Go to the top of the page
+Quote Post
phpamator
post 11.01.2017, 14:17:08
Post #6





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Coś jakby zaczyna mi świtać chociaż nie do końca, pewnie jutro załapię.

Czyli jeśli wklejam do istniejącego DOM'u element z zewnątrz powinien on być "widziany" i działać ?

na przykład:
Kod
$('#add').on(click,function () {
$("#additem").append("<td class='c n'>▲ ▼</td><td><input type='checkbox' value=''/></td><td><input class='addprod prod r' value=''/></td><td><input class='add prodname l' id='product' value=''/></td><td><input class='add variation' name='wariant' value='".$select_variation."'/></td><td><input class='qty r'/></td><td><input class='spev r'/></td><td><input class='vat r'/></td><td><input class='sp r'/></td><td><input class='tot r d'/></td>\");
});

append'uje nowy rząd do tabeli
i dotąd wszystko ok, dalej niestety nic się nie dzieje.
Do input class="addprod" podczepiona jest funkcja change() i ajax .....
Go to the top of the page
+Quote Post
viking
post 11.01.2017, 14:19:01
Post #7





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A przeczytałeś mój artykuł? Sądzę że jest bardzo dokładnie opisana delegacja, bubling i ogólnie on. I nie click - bo to nie zmienna, tylko 'click'.


--------------------
Go to the top of the page
+Quote Post
phpamator
post 11.01.2017, 14:50:47
Post #8





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Cytat(viking @ 11.01.2017, 14:19:01 ) *
A przeczytałeś mój artykuł? Sądzę że jest bardzo dokładnie opisana delegacja, bubling i ogólnie on. I nie click - bo to nie zmienna, tylko 'click'.


Jestem w trakcie wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 11:07