Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] problem z dynamicznym formularzem, nie do końca działa...
mecenas
post 27.11.2008, 02:15:32
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 5
Dołączył: 23.09.2008
Skąd: Chełmno/Toruń

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


Witam,
mam taki problem: używam formularza, w którym liczba odpowiedzi jest określana w czasie jego wypełniania. Do dodawania odpowiedzi używam takiego kodu:
  1. $("#dodaj").click(function(){
  2. var wartosc=parseInt($("#ilosc_odp").val());
  3. wartosc=wartosc+1;
  4. temp=wartosc;
  5. $("#ilosc_odp").val(wartosc);
  6. createNew(100);})

przy czym temp to zmienna przechowująca ilość odpowiedzi, a kod createNew (liczba w nawiasie to pozostałość po starszej wersji kodu)
  1. function createNew(s)
  2. {
  3. var span="<span><input type=\"text\" name=\"odp[]\" size=\"20\"/><input type=\"text\" maxlength=\"100\" size=\"80\" name=\"kom[]\" id=\"kom_"+s+"\"/><a id=\"usun\" name=\"usun\" href=\"#\"><img style=\"border: none;\" src=\"images/del.gif\" alt=\"X\" title=\"USUŃ ODPOWIEDŹ\"></a><br/></span>";
  4. $("#dodaj").before(span);
  5. }


Działa bez problemu. Trudności pojawiają się przy usuwaniu odpowiedzi - mianowicie usuwane są tylko te linijki, które zostały utworzone przed pierwszym usunięciem któregokolwiek ze spanów. Sądziłem, że namieszałem coś ze zmiennymi, ale wygląda na to, że chyba nie...

Kod odpowiedzialny za usuwanie:
  1. $("#znaczniki").find("span").find("a").click(function(){
  2. if($(this).attr("name")!="dodaj")
  3. {
  4. var wartosc=parseInt($("#ilosc_odp").val());
  5. wartosc=wartosc-1;
  6. $("#ilosc_odp").val(wartosc);
  7. $(this).parent("span").remove();
  8. }


Podejrzewam, iż popełniam jakiś kardynalny błąd - może komuś rzuca się coś takiego w oczy?
Z góry dzięki za pomoc i wszelkie sugestie.


--------------------
-- http://rafaljakubowski.net76.net --
google's my life ;)
Go to the top of the page
+Quote Post
erix
post 27.11.2008, 12:44:33
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jeśli dobrze zrozumiałem (i patrząc po kodzie), to nie usuwają Ci się nowo utworzone linijki.

Nie dodajesz zdarzeń usuwania linków po utworzeniu nowej linijki. winksmiley.jpg

Albo wywołuj podpinanie zdarzeń ręcznie, albo użyj czegoś w stylu DOM Listener (wtyczka do jQ).


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
mecenas
post 27.11.2008, 13:06:00
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 5
Dołączył: 23.09.2008
Skąd: Chełmno/Toruń

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


  1. <a id=\"usun\" name=\"usun\" href=\"#\"><img style=\"border: none;\" src=\"images/del.gif\" alt=\"X\" title=\"USUŃ ODPOWIEDŹ\"></a>

to jest dodawane w spanie. I zanim nie zacznę dodawać przed pierwszym usunięciem - działa ok. Podejrzewam, że to kwestia mojej własnej głupoty...
no i jak już mówiłem:
  1. <?php
  2. $("#znaczniki").find("span").find("a").click(function(){
  3.        if($(this).attr("name")!="dodaj")
  4.        {
  5.            var wartosc=parseInt($("#ilosc_odp").val());
  6.            wartosc=wartosc-1;
  7.            $("#ilosc_odp").val(wartosc);
  8.            $(this).parent("span").remove();
  9.          }
  10. ?>

Być może jest jakaś lepsza opcja wyszukiwania tego linka (te, które wypróbowałem - nie bardzo chciały działać)


--------------------
-- http://rafaljakubowski.net76.net --
google's my life ;)
Go to the top of the page
+Quote Post
erix
post 27.11.2008, 14:51:15
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
to jest dodawane w spanie. I zanim nie zacznę dodawać przed pierwszym usunięciem - działa ok.

Usuwanie dodajesz, ale zdarzeń do tego nie podpinasz.

Najlepiej daj cały HTML+JS gdzieś do testów.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
mecenas
post 27.11.2008, 23:47:24
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 5
Dołączył: 23.09.2008
Skąd: Chełmno/Toruń

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


problem rozwiązany.
proszę o zamknięcie wątku.
erix - wielkie dzięki! naprowadziłeś mnie.
i oczywiście +pomógł smile.gif

Ten post edytował mecenas 27.11.2008, 23:52:59


--------------------
-- http://rafaljakubowski.net76.net --
google's my life ;)
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: 15.08.2025 - 03:40