Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery] Usuwanie nowododanych pól w dynamicznym formularzu
kovalskipl
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 29.07.2010

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


Witam.

Przy pisaniu takiego dosyć prostego dynamicznego formularza w jquery napotkałem taki problem. Otóż w kodzie zamieszczonym poniżej powstaje problem przy usuwaniu nowo dodanych przez jquery pól. Pola niedodane dynamicznie usuwają się bezproblemowo. Co ciekawe dodawany przez js kod jest identyczny z tym, który jest w kodzie html.

Macie może jakiś pomysł co tu jest nie tak?

pozdrawiam,
Łukasz


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
  3.  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  5. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  6.  
  7. $(document).ready(function() {
  8. $('input[name=insertfield]').click(function(){
  9. $('div#pola').append('<label><input type="text" name="field[]" /> <a href="#" class="delfield">usuń</a></label>');
  10. });
  11.  
  12. $('a.delfield').click(function(){
  13. $(this).parent('label').remove();
  14. });
  15. });
  16. </head>
  17.  
  18.  
  19. <div id="pola">
  20. <label><input type="text" name="field[]" /> <a href="#" class="delfield">usuń</a></label>
  21. </div>
  22. <input type="button" name="insertfield" value="dodaj" />
  23.  
  24.  
  25. </body>
  26. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





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




Sobie wyobraż sytuację, że masz 5 krzeseł. Pomalowales te 5 krzesel na czerwono.
Teraz do pokoju wnosisz kolejne dwa krzesła. I co? Myslisz ze te dwa krzesła nagle same się pomalują na czerwono? Nie, dopóki ty ich znowu nie pomalujesz to one same się nie pomalują.


$('a.delfield').click(function(){
$(this).parent('label').remove();
});
ten kod dziala na aktualnie istniejące pola. Jak dodajesz nowe pola to ten kod ich nie obejmuje.
Zainsteresuj się więc LIVE w jquery albo kazdemu nowododanemu polu przypisuj zdarzenie click co to masz w kodzie wyzej


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

"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
kovalskipl
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 29.07.2010

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


No fakt. Jednak krzesła same się nie pomalują winksmiley.jpg

Kod
            $('a.delfield').live('click', function(){
                  $(this).parent('label').remove();
            });



Dzięki za pomoc smile.gif

Pozdrawiam,
Łukasz
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 Aktualny czas: 20.08.2025 - 06:41