Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Usunięcie dynamicznie zklonowanego formularza
wicek
post 4.11.2015, 13:02:41
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


Witam mam mały problem i nie mogę znaleźć rozwiązania prosze o naprowadzenie.

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.  
  4. $('#dodaj_upad').click(function(){
  5. $('#elements .element:first').clone().appendTo($('#elements')).find('input').val('');
  6. return false;
  7. });
  8. $('#elements .element a').live('click', function(){
  9. var parent = $(this).parent();
  10. if($('#elements .element').index(parent)>0) parent.remove();
  11. });
  12. });
  13. </script>
  14. <div id="elements">
  15. <tr>
  16. <td colspan="3" align="center" valign="middle"><h3>Upad</h3></td>
  17. </tr>
  18. <tr>
  19. <td colspan="2">Dodaj upad</td>
  20. <td><img src="obrazy/plus.png" id="dodaj_upad" style="cursor:pointer"></img></td>
  21. </tr>
  22. <tbody class="element">
  23. <tr>
  24. <td width="200px">Azymut upadu</td>
  25. <td><input type="text" name="azymut_upadu[]"/></td>
  26. </tr>
  27. <tr>
  28. <td>Upad</td>
  29. <td><input type="text" name="upad[]"/></td>
  30. </tr>
  31. <tr>
  32. <td><a href="#">usuń</a></td>
  33. </tr>
  34. </tbody>
  35. </table>
  36. </div>


Więc <tbody> zostaje powielone wszystko cacy tylko gdy sprawdza rodzica <a> to widać że coś się dzieje bo strona wraca do góry ale zklonowany formularz nie usuwa się.

Z góry dzięki za odpowiedź pozdrawiam

Wicek

Ten post edytował wicek 4.11.2015, 13:03:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post 4.11.2015, 13:44:48
Post #2





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




var parent = $(this).parent();
eee...przeciez parentem dla A jest TD a nie TBODY jak ci sie wydaje


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

"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
wicek
post 4.11.2015, 13:58:07
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


No tak ale próbowałem już np link wpisać na luźno w tbody ale wtedy zostaje wyświetlony po za tabelą i podczas klonowania formularza nie pojawiają się następne linki.
Z drugiej strony próbowałem np dodać znaczniki <p></p> w kodzie i po nim szukać rodzica ale też nie działa. Tabela wszystko knoci ale chcę mieć wszystko poukładanie smile.gif
Go to the top of the page
+Quote Post
nospor
post 4.11.2015, 14:01:24
Post #4





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




Czemu poprostu nie zrobisz tak:

var parent = $(this).parents('.element:first');

?

No i po co w ogole ten warunek:
if($('#elements .element').index(parent)>0) parent.remove();

tak powinno byc:
parent.remove();

i juz.


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

"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
wicek
post 4.11.2015, 14:08:31
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


Ten warunek jest ponieważ jeden formularz musi być wypełniony żeby nie dało się go skasować.

zrobiłem tak:

  1. $('#elements .element a').live('click', function(){
  2. var parent = $(this).parent('.element:first');
  3. parent.remove();
  4. });


Ale dalej nic się nie dzieje zastanawaim się czy tbody tu nie bruździ...

Wyrzuciałem już link po za tbody dałem mu id i nic nie usuwa:
  1. $('#usun_upad').click(function(){
  2. var parent = $(this).parent('.element:first');
  3. parent.remove();
  4. });


Ten post edytował wicek 4.11.2015, 14:21:34
Go to the top of the page
+Quote Post
nospor
post 4.11.2015, 14:38:26
Post #6





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




var parent = $(this).parent('.element:first');
wyraznie napisalem w moim kodzie PARENTS anie PARENT. Patrz prosze co dostajesz


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

"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
wicek
post 4.11.2015, 14:53:37
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


PO wprowadzeniu poprawek dalej nie działało ale coś mnie tkenło i okazało się że mam wersję jquery 1.11.1 po wgraniu 1.3.2 wszystko zaczeło działać.

Dziękuję za pomoc smile.gif

Ten post edytował wicek 5.11.2015, 08:01:42
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: 14.08.2025 - 00:35