Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Usunięcie dynamicznie zklonowanego formularza
Forum PHP.pl > Forum > Przedszkole
wicek
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
nospor
var parent = $(this).parent();
eee...przeciez parentem dla A jest TD a nie TBODY jak ci sie wydaje
wicek
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
nospor
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.
wicek
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. });
nospor
var parent = $(this).parent('.element:first');
wyraznie napisalem w moim kodzie PARENTS anie PARENT. Patrz prosze co dostajesz
wicek
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.