Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Dodawanie i usuwanie inputów
shpaque
post 12.06.2018, 10:40:42
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam serdecznie,
dzisiaj borykam się z czymś, czego nigdy wcześniej nie robiłem - chcę przy każdym "row" aby była możliwość dodania następnego rowa i jego usunięcia. Konsola wywala 78 bledow typu:
  1. Uncaught SyntaxError: Invalid or unexpected token
  2. index.php:548 Uncaught ReferenceError: addMoreRows is not defined
  3. at HTMLAnchorElement.onclick


kod jest mieszany php + jquery i szczerze mówiąc już się zamotałem jak to zrobić, żeby dobrze wyszło, wygląda to tak:

  1. for ($y = 0; $y < $countLinks; $y++)
  2. {
  3. echo "
  4. <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink".$y."\">
  5. <div class=\"col-sm-8\">
  6. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$y."\" value=\"".$c -> main[$x] -> link[$y] -> title."\" required />
  7. </div>
  8. <div class=\"col-sm-2\">
  9. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$y."\" value=\"".$c -> main[$x] -> link[$y] -> page."\" required />
  10. </div>
  11. <div class=\"col-sm-1\">
  12. <a href=\"java script: void(0);\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" onclick=\"removeRow('+rowCount+');\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a>
  13. </div>
  14. <div class=\"col-sm-1\">
  15. <a class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" onclick=\"addMoreRows();\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a>
  16. </div>
  17. </div>
  18. ";
  19.  
  20. // Skrypt dodający i usuwający link
  21. $z = $y++;
  22. echo "
  23. <script>
  24. var rowCount = ".$y.";
  25. function addMoreRows(frm) {
  26. rowCount ++;
  27. var recRow = ' <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink'+rowCount+'\">
  28. <div class=\"col-sm-8\">
  29. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$z."\" required />
  30. </div>
  31. <div class=\"col-sm-2\">
  32. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$z."\" required />
  33. </div>
  34. <div class=\"col-sm-1\">
  35. <a href=\"java script: void(0);\" onclick=\"removeRow('+rowCount+');\">Delete</a>
  36. </div>
  37. </div>';
  38.  
  39. $('#rowLink".$y."').append(recRow);
  40. }
  41.  
  42. function removeRow(removeNum) {
  43. $('#rowLink".$z."' + removeNum).remove();
  44. }
  45. </script>
  46. ";
  47.  
  48. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
shpaque
post 13.06.2018, 15:17:37
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


dobra przerobilem sobie html zeby jedna para buttonow byla w petli:

  1. <div id="<?php echo 'cat'.$i.'main'.$x; ?>">
  2. <?php for ($y = 0; $y < $countLinks; $y++): ?>
  3. <?php if ($y < 1): ?>
  4. <div class="row">
  5. <div class="col-sm-8">
  6. <input class="form-control text-center" type="text" name="linkTitle[]" value="<?php echo $c -> main[$x] -> link[$y] -> title; ?>" required />
  7. </div>
  8. <div class="col-sm-2">
  9. <input class="form-control text-center" type="text" name="linkPage[]" value="<?php echo $c -> main[$x] -> link[$y] -> page; ?>" required />
  10. </div>
  11. <div class="col-sm-1">
  12. <a href="#" class="btn btn-md text-center btn-delete" type="button" style="width: 100%; height: 100%;"><span class="fa fa-remove icon-md" title="Usuń ten link"></span></a>
  13. </div>
  14. <div class="col-sm-1">
  15. <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; ?>" data-row-link="<?php echo $y; ?>" onclick="return addRow(this);"><span class="fa fa-plus icon-md" title="Dodaj link"></span></button>
  16. </div>
  17. </div>
  18. <?php else: ?>
  19. <div class="row">
  20. <div class="col-sm-8">
  21. <input class="form-control text-center" type="text" name="linkTitle[]" value="<?php echo $c -> main[$x] -> link[$y] -> title; ?>" required />
  22. </div>
  23. <div class="col-sm-2">
  24. <input class="form-control text-center" type="text" name="linkPage[]" value="<?php echo $c -> main[$x] -> link[$y] -> page; ?>" required />
  25. </div>
  26. </div>
  27. <?php endif ?>
  28. <?php endfor ?>
  29. </div>


poprawilem bledy w skrypcie

  1. function addRow(row) {
  2. var catNumber = $(row).data('rowCat');
  3. var mainNumber = $(row).data('rowMain');
  4. var linkNumber = $(row).data('rowLink');
  5.  
  6. var i = linkNumber++;
  7. var newRow = $('#cat' + catNumber + 'main' + mainNumber);
  8.  
  9. $('<div class="row" style="margin-top: 2px;"><div class="col-sm-8"><input class="form-control text-center" type="text" name="linkTitle[]" required /></div><div class="col-sm-2"><input class="form-control text-center" type="text" name="linkPage[]" value="" required /></div><div class="col-sm-1"></div></div>').appendTo(newRow);
  10. i++;
  11. return false;
  12. }


niby jest ok teraz, teraz jak usunac rowy tak, zeby minimalnie zostal 1 w petli (mimo ze np z php petla robi 3 linie + mamy te wygenerowane przez js)
Go to the top of the page
+Quote Post

Posty w temacie
- shpaque   [jQuery] Dodawanie i usuwanie inputów   12.06.2018, 10:40:42
- - nospor   Masz bledy w funkcji addMoreRows() temu ta funkcja...   12.06.2018, 10:46:41
- - shpaque   ale jakos to sie da zrobic , chce caly row zrobic ...   12.06.2018, 13:30:22
- - nospor   Cytatzacznijmy od początku (mój monolog) - dlaczeg...   12.06.2018, 15:06:02
- - shpaque   ...ale kliekniete raz... to petla nadrzedna i to ...   12.06.2018, 15:15:16
- - nospor   Cytat...ale kliekniete raz... "Uwielbiam...   12.06.2018, 15:19:03
- - shpaque   to bylo w miedzyczasie dla testu - caly czas jest ...   12.06.2018, 15:30:21
- - nospor   No i jeszcze tworzysz jakis testowy kod ktory zara...   12.06.2018, 15:30:35
- - shpaque   no dobrze to wiem, ze logika sie nie zmienia, ale ...   13.06.2018, 11:59:08
- - Neutral   Czy chodzi Ci o te linie pod script? Jeśli tak, to...   13.06.2018, 12:05:33
- - nospor   Cytatdlaczego nikt nie jest mi w stanie pomoc?Nie ...   13.06.2018, 12:07:40
- - shpaque   czyli wyjsc z petli dac skrypt na sam koniec dokum...   13.06.2018, 12:15:34
- - nospor   No i wlasnie to jest to o czym mowilem. NIe slucha...   13.06.2018, 12:17:28
- - shpaque   czyli od poczatku a ma byc w tylu: [PHP] pobierz,...   13.06.2018, 12:22:26
- - nospor   Tak. Tylko do addRow() masz przekazac referencje ...   13.06.2018, 12:25:53
- - shpaque   [HTML] pobierz, plaintext <script>function a...   13.06.2018, 13:56:52
- - nospor   Cytata teraz zupelnie nie wiem co i dlaczegoWtedy ...   13.06.2018, 14:07:05
- - shpaque   ok czyli wracamy do wersji poprzedniej cos z tym ...   13.06.2018, 14:46:20
- - nospor   Przeczytaj jeszcze raz uwaznie moj poprzedni post....   13.06.2018, 14:48:54
- - shpaque   return addRow(this) - zrobiony .data() dodany oncl...   13.06.2018, 14:54:37
- - nospor   Cytatczego nie doczytalemA tego ci nie powiem bo z...   13.06.2018, 14:55:31
- - shpaque   dobra przerobilem sobie html zeby jedna para butto...   13.06.2018, 15:17:37
- - nospor   Juz ci chyba kiedys pisalem, ze rowy to mozesz kop...   13.06.2018, 15:31:24
- - shpaque   teraz musze dorobic opcje usuniecia analogicznie i...   13.06.2018, 21:14:23
- - Pyton_000   https://stackoverflow.com/questions/1887429...t-fo...   13.06.2018, 21:20:22
- - shpaque   ok zadzialalo tak [HTML] pobierz, plaintext // Sk...   14.06.2018, 10:09:02
- - Neutral   Napisz może parseInt lub parseFloat.   14.06.2018, 11:01:40
- - shpaque   nie dzialaja jak to zrobic? [HTML] pobierz, plai...   14.06.2018, 17:34:27
- - Neutral   Nie jestem pewien, ale może to pójdzie: Kodvar mai...   14.06.2018, 22:52:44
- - shpaque   wtedy dostaje tak: pierwszy generowany ma id ...   15.06.2018, 09:13:41


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: 19.04.2024 - 15:00