Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] usuwanie bloku
Forum PHP.pl > Forum > Przedszkole
shpaque
Jak to bywa, kolejny temat - ten powinien pójść łatwo mam nadzieję.

skrypt mający na celu usunąć pewien blok jest napisany analogicznie do tego co zadzialalo w przypadku childow tego bloku:

  1. // Skrypt usuwający rozdział
  2. function removeMain(main) {
  3. var catNumber = $(main).data('mainCat');
  4.  
  5. $('#cat' + catNumber).find('.row rozdzial:last-child').not('.row rozdzial:first-child').remove();
  6. return false;
  7. }


wycinek html:

  1. <div id="cat0">
  2. <div class="row rozdzial" style="margin-bottom: 5px;">
  3. <div class="col-sm-8">
  4. <div class="form-group">
  5. <label>Tytuł rozdziału</label>
  6. <input class="form-control text-center" type="text" name="mainTitle[]" value="Spis treści Katalog Brunner 2017" required />
  7. </div>
  8. </div>
  9. <div class="col-sm-2">
  10. <div class="form-group">
  11. <label>Strona rozdziału</label>
  12. <input class="form-control text-center" type="text" name="mainPage[]" value="3" required />
  13. </div>
  14. </div>
  15. <div class="col-sm-1">
  16. <div class="form-group">
  17. <label>Usuń rozdział</label>
  18. <button class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-main-cat="0" onclick="return removeMain(this);"><span class="fa fa-remove icon-md" title="Usuń link"></span></button>
  19. </div>
  20. </div>
  21. <div class="col-sm-1">
  22. <div class="form-group">
  23. <label>Dodaj rozdział</label>
  24. <button class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="0" data-row-count="15" onclick="return addMain(this);"><span class="fa fa-plus icon-md" title="Dodaj link"></span></button>
  25. </div>
  26. </div>
  27. </div>
trueblue
A "rozdzial", to selektor czego?
Kiedy poprawisz, to możesz te dwa selektory zamienić na jeden.
shpaque
juz wkleilem caly blok powyzej z www
trueblue
Nie jest mi to potrzebne.
Do czego odnosi się selektor "rozdzial"? To jest pytanie do Ciebie.
shpaque
do css
trueblue
Ten selektor do niczego nie kieruje. Pogłówkuj trochę.
athabus
Polecam console.log() + odpalenie konsoli w chromie i wyjście od ogólnego elementu typu console.log($('#cat'... )), jak działa to dodajesz kolejny selektor/funkcję filtrującą etc. - szybko znajdziesz miejsce w którym selektor przestaje działać bo nic nie zwraca. To najprostszy sposób znalezienia takich błędów. Trublue już Ci wskazał miejsce błędu, ale na przyszłość Ci się przyda.
shpaque
ok, zrobiłem tak po prostu:

  1. // Skrypt usuwający rozdział
  2. function removeMain(main) {
  3. var catNumber = $(main).data('mainCat');
  4.  
  5. $('#cat' + catNumber).find('.row').not('.rozdzial:first-child', '#cat' + catNumber + 'main0').remove();
  6. return false;
  7. }


wyrzuca mi wszystkie poza pierwszym. chcialbym zeby jeszcze w pierwszym nie wywalal mi tego (co jest w nawiasie, ale nie dziala)

  1. '#cat' + catNumber + 'main0'


juz nie bede sie bawil bo nie ma czasu na wywalanie ostatniego bo po prostu nei wiem jak to zrobic i tak wywala wszystkie albo zadnego - ale zeby ten pierwszy zestaw zostawil

@EDIT

jeszcze raz przytocze kod dla jasnosci:

  1. <div id="cat<?php echo $i; ?>">
  2. <?php for ($x = 0; $x < $countMains; $x++): ?>
  3. <?php $countLinks = count($c -> catalog[$i] -> main[$x] -> link); ?>
  4. <div class="row rozdzial">
  5. <div class="col-sm-8">
  6. <div class="form-group">
  7. <label>Tytuł rozdziału</label>
  8. <input class="form-control text-center" type="text" name="mainTitle[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> title; ?>" required />
  9. </div>
  10. </div>
  11. <div class="col-sm-2">
  12. <div class="form-group">
  13. <label>Strona rozdziału</label>
  14. <input class="form-control text-center" type="text" name="mainPage[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> page; ?>" required />
  15. </div>
  16. </div>
  17. <div class="col-sm-1">
  18. <div class="form-group">
  19. <label>Usuń rozdział</label>
  20. <button class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-main-cat="<?php echo $i; ?>" data-main-row="<?php echo $x; ?>" onclick="return removeMain(this);"><span class="fa fa-remove icon-md" title="Usuń link"></span></button>
  21. </div>
  22. </div>
  23. <div class="col-sm-1">
  24. <div class="form-group">
  25. <label>Dodaj rozdział</label>
  26. <button class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="<?php echo $i; ?>" data-row-count="<?php echo $countMains; ?>" onclick="return addMain(this);"><span class="fa fa-plus icon-md" title="Dodaj link"></span></button>
  27. </div>
  28. </div>
  29. </div>
  30.  
  31. <div id="<?php echo 'cat'.$i.'main'.$x; ?>">
  32. <?php for ($y = 0; $y < $countLinks; $y++): ?>
  33. <?php if ($y < 1): ?>
  34. <div class="row">
  35. <div class="col-sm-8">
  36. <input class="form-control text-center" type="text" name="linkTitle[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> link[$y] -> title; ?>" required />
  37. </div>
  38. <div class="col-sm-2">
  39. <input class="form-control text-center" type="text" name="linkPage[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> link[$y] -> page; ?>" required />
  40. </div>
  41. <div class="col-sm-1">
  42. <button class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat="<?php echo $i; ?>" data-row-main="<?php echo $x; ?>" onclick="return removeRow(this);"><span class="fa fa-remove icon-md" title="Usuń link"></span></button>
  43. </div>
  44. <div class="col-sm-1">
  45. <button class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="<?php echo $i; ?>" data-row-main="<?php echo $x; ?>" onclick="return addRow(this);"><span class="fa fa-plus icon-md" title="Dodaj link"></span></button>
  46. </div>
  47. </div>
  48. <?php else: ?>
  49. <div class="row" style="margin-bottom: 3px;">
  50. <div class="col-sm-8">
  51. <input class="form-control text-center" type="text" name="linkTitle[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> link[$y] -> title; ?>" required />
  52. </div>
  53. <div class="col-sm-2">
  54. <input class="form-control text-center" type="text" name="linkPage[]" value="<?php echo $c -> catalog[$i] -> main[$x] -> link[$y] -> page; ?>" required />
  55. </div>
  56. </div>
  57. <?php endif ?>
  58. <?php endfor ?>
  59. </div>
  60. <?php endfor ?>
  61. </div>



i funkcje

  1. function removeMain(main) {
  2. var catNumber = $(main).data('mainCat');
  3. var mainNumber = $(main).data('mainRow');
  4.  
  5. $('#cat' + catNumber).find('.row').not('.row:first-child, #cat' + catNumber + 'main0').remove();
  6. return false;
  7. }


która wywala .row ale zostawia wszystkie divy "cat1row0", "cat1row1"... a chce zeby zostawiul tylko cat1row0
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.