Adam W.

Adam W. senior php
developer, Symfony

Temat: bind na nowo dodanym elemencie

witam,

mam taki kod http://pastebin.com/m2d8eb922
(nie da się wkleić kodu tutaj)

na razie nie działa to tak jak bym chciał, tzn po zmianie wartości drugiego inputa (nowo dodanego) nie działa na nim bind. jak to można zrobić?

pozdrawiamAdam W. edytował(a) ten post dnia 17.02.09 o godzinie 16:13
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: bind na nowo dodanym elemencie

rozwiązałem to tak:
http://pastebin.com/m75fb690f

czyli mówiąc krótko - po każdym dodaniu binduję jeszcze raz. to w sumie logiczne, bindujesz podczas ładowania witryny więc trudno, żeby dodane elementy działały. chyba, że obindujesz je na nowo - tak jak zrobiłem w tym skrypcie.

edit: hm, to się sypie przy trzech z kolei ;)Piotr Szmielew edytował(a) ten post dnia 17.02.09 o godzinie 16:28
Adam W.

Adam W. senior php
developer, Symfony

Temat: bind na nowo dodanym elemencie

Piotr Szmielew:
rozwiązałem to tak:
http://pastebin.com/m75fb690f

czyli mówiąc krótko - po każdym dodaniu binduję jeszcze raz. to w sumie logiczne, bindujesz podczas ładowania witryny więc trudno, żeby dodane elementy działały. chyba, że obindujesz je na nowo - tak jak zrobiłem w tym skrypcie.

edit: hm, to się sypie przy trzech z kolei ;)Piotr Szmielew edytował(a) ten post dnia 17.02.09 o godzinie 16:28

hm, wydaje się logiczne, ale ...
teraz gdy chcę tak w nieskończoność to jak? ten trzeci input się dodał, ale on znowu nie reaguje na zmiany (czwarty już się nie dodaje).
korzystam z wersji 1.3.1 jquery. tam była jakaś nowość z tymi bindami, ale nie wiem czy to o to chodzi;)
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: bind na nowo dodanym elemencie

http://pastebin.com/m2acb988c

ok, poprawione. powinno działać dobrze dla dużej ilości, poprawiłem też kwestię unbindowania.Piotr Szmielew edytował(a) ten post dnia 17.02.09 o godzinie 16:41
Adam W.

Adam W. senior php
developer, Symfony

Temat: bind na nowo dodanym elemencie

Piotr Szmielew:
http://pastebin.com/m2acb988c

ok, poprawione. powinno działać dobrze dla dużej ilości, poprawiłem też kwestię unbindowania.Piotr Szmielew edytował(a) ten post dnia 17.02.09 o godzinie 16:41

elegancko:)
czyli taka rekurencja powstała. myślałem, że ten nowy bind to jest właśnie to co pozwoli tego uniknąć.

dziękuję bardzo za pomoc.
pozdrawiam

konto usunięte

Temat: bind na nowo dodanym elemencie

Adam W.:
Piotr Szmielew:
rozwiązałem to tak:
http://pastebin.com/m75fb690f

czyli mówiąc krótko - po każdym dodaniu binduję jeszcze raz. to w sumie logiczne, bindujesz podczas ładowania witryny więc trudno, żeby dodane elementy działały. chyba, że obindujesz je na nowo - tak jak zrobiłem w tym skrypcie.

edit: hm, to się sypie przy trzech z kolei ;)Piotr Szmielew edytował(a) ten post dnia 17.02.09 o godzinie 16:28

hm, wydaje się logiczne, ale ...
teraz gdy chcę tak w nieskończoność to jak? ten trzeci input się dodał, ale on znowu nie reaguje na zmiany (czwarty już się nie dodaje).
korzystam z wersji 1.3.1 jquery. tam była jakaś nowość z tymi bindami, ale nie wiem czy to o to chodzi;)


tak właśnie z tymi bindami w nowej wersji jquery masz racje. dokładniej chodzi o live

proponowane przeze mnie rozwiązanie:
http://pastebin.com/f75ca1309

działa tak samo, ale kodu mniej :)
Aha, zdajesz sobie sprawę, że to dodaje nowe pole również wtedy, kiedy użytkownik zmienia plik, który wybrał poprzednio?
Adam W.

Adam W. senior php
developer, Symfony

Temat: bind na nowo dodanym elemencie

Kamil Rudnik:
tak właśnie z tymi bindami w nowej wersji jquery masz racje. dokładniej chodzi o live

ooo. nie doczytałem, że zamiast używać metody bind trzeba zamienić ją na live;)
proponowane przeze mnie rozwiązanie:
http://pastebin.com/f75ca1309

dzięki wielkie. zaraz to przetestuje:)
działa tak samo, ale kodu mniej :)
Aha, zdajesz sobie sprawę, że to dodaje nowe pole również wtedy, kiedy użytkownik zmienia plik, który wybrał poprzednio?

ja ograniczyłem do 3. nie chcę żeby miał możliwość dodawania więcej pól.
bo inaczej chyba się tego nie da zrobić? chyba nie ma żadnego innego eventu, który działał by inaczej;) no bo logizne - user klika w input, zmienia zawartość i dodaje się kolejne pole.
inny sposób to po prostu dodanie gdzieś obok przyciski Dodaj kolejne pole.
Adam W.

Adam W. senior php
developer, Symfony

Temat: bind na nowo dodanym elemencie

działa fajnie:)

GL zdecydowanie nie jest dla koderów;)

http://pastebin.com/m5bc462c8Adam W. edytował(a) ten post dnia 25.02.09 o godzinie 21:51

konto usunięte

Temat: bind na nowo dodanym elemencie

hmm, dla trzech inputow to nie stanowi problemu, kiedy pole sie samo powiela.
aczkolwiek mozesz sprobowac na 'click' zapamietac wartosc obecna pola i dodac nastepne tylko w sytuacji, kiedy bylo ono puste i nastapila zmiana.
W innym wypadku nie ma takiej potrzeby, bo albo uzytkownik nie wybral zdjecia dla biezacego pola, albo edytowal wybrane wczesniej.Kamil Rudnik edytował(a) ten post dnia 26.02.09 o godzinie 09:10



Wyślij zaproszenie do