Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ JavaScript _ [jQuery] Dodawanie i usuwanie inputów

Napisany przez: shpaque 12.06.2018, 10:40:42

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. http://www.php.net/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] -> http://www.php.net/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] -> http://www.php.net/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. http://www.php.net/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. }

Napisany przez: nospor 12.06.2018, 10:46:41

Masz bledy w funkcji addMoreRows() temu ta funkcja nie jest widoczna. Jednym z bledow jest to ze w js tekst moze miec tylko jedna linijke a ty tworzysz wielolinijkowy text z kodem html.

ps: przenosze. Z ajax to nei ma zadnego zwiazku

Napisany przez: shpaque 12.06.2018, 13:30:22

ale jakos to sie da zrobic , chce caly row zrobic zeby sie dodal lub usunal a do tego trzeba kilka linijek - chyba ze to tylko kwestia zminimalizowania (bez '\n' )

bralem to stad: https://www.discussdesk.com/add-remove-more-rows-dynamically-using-jquery.htm
tam gosc ma tez kilka linijek

ok to sprobujmy z czyms takim - co tu nachrzanilem?

  1. for ($y = 0; $y < $countLinks; $y++)
  2. {
  3. http://www.php.net/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] -> http://www.php.net/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] -> http://www.php.net/link[$y] -> page."\" required />
  10. </div>
  11. <div class=\"col-sm-1\">
  12. <a class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow".$y."\"><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%;\" id=\"addRow".$y."\"><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 + 1;
  22. http://www.php.net/echo "
  23. <script>
  24. $(function() {
  25. var thisRow = $('#rowLink".$y."');
  26. var i = ".$z.";
  27.  
  28. $('#addRow".$y."').live('click', function() {
  29. $('<div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink".$y."\"><div class=\"col-sm-8\"><input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle'+i'\" required /></div><div class=\"col-sm-2\"><input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage'+i'\" required /></div><div class=\"col-sm-1\"><a class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+i'\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a></div><div class=\"col-sm-1\"><a class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+i'\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a></div></div>').appendTo(scntDiv);
  30. i++;
  31. return false;
  32. });
  33.  
  34. $('#removeRow".$y."').live('click', function() {
  35. if( i > 2 ) {
  36. $(this).parents('p').remove();
  37. i--;
  38. }
  39. return false;
  40. });
  41. });
  42. </script>
  43. ";
  44.  
  45. }


@EDIT
ok dodaje mi ale tyle razy ile razy wykonuje mi petle

  1. // Skrypt dodający i usuwający link
  2. $z = $y + 1;
  3. echo "
  4. <http://december.com/html/4/element/script.html>
  5. $(function() {
  6. var thisRow = $('#rowLink".$y."');
  7. var i = '".$y."';
  8.  
  9. $('#addRow".$y."').click(function() {
  10. $('<http://december.com/html/4/element/div.html class=\"col-sm-8\"><http://december.com/html/4/element/input.html class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle'+ i +'\" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-2\"><http://december.com/html/4/element/input.html class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage'+ i +'\" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-1\"><http://december.com/html/4/element/a.html href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+ i +'\"><http://december.com/html/4/element/span.html class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-1\"><http://december.com/html/4/element/a.html href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+ i +'\"><http://december.com/html/4/element/span.html class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html>').appendTo(thisRow);
  11. i++;
  12. return false;
  13. });
  14.  
  15. $('#removeRow".$y."').click(function() {
  16. if( i > 2 ) {
  17. $(this).parents('div').remove();
  18. i--;
  19. }
  20. return false;
  21. });
  22. });
  23. </http://december.com/html/4/element/script.html>
  24. ";


@EDIT

zacznijmy od początku (mój monolog) - dlaczego wykonuje operacje tyle razy?

  1. http://www.php.net/echo "
  2. <script>
  3. $('.btn-add').click(function() {
  4. var thisRow = $('#rowLink".$y."');
  5. var i = '".$y."';
  6. $('<div class=\"col-sm-8\"><input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle'+ i +'\" required /></div><div class=\"col-sm-2\"><input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage'+ i +'\" required /></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+ i +'\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+ i +'\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a></div>').appendTo(thisRow);
  7. i++;
  8. return false;
  9. });
  10. </script>
  11. ";

Napisany przez: nospor 12.06.2018, 15:06:02

Cytat
zacznijmy od początku (mój monolog) - dlaczego wykonuje operacje tyle razy?
Bo dales to w petli?

Napisany przez: shpaque 12.06.2018, 15:15:16

...ale kliekniete raz...

to petla nadrzedna i to co nas interesuje:

  1. for ($x = 0; $x < $countMains; $x++)
  2. {
  3. $lpx = $x + 1;
  4. $countLinks = http://www.php.net/count($c -> main[$x] -> http://www.php.net/link);
  5. http://www.php.net/echo "
  6. <div class=\"row rozdzial\" id=\"rowRozdzial".$x."\" style=\"margin-bottom: 5px;\">
  7. <div class=\"col-sm-8\">
  8. <div class=\"form-group\">
  9. <label>Rozdział ".$lpx." - tytuł</label>
  10. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."\" value=\"".$c -> main[$x] -> title."\" required />
  11. </div>
  12. </div>
  13. <div class=\"col-sm-2\">
  14. <div class=\"form-group\">
  15. <label>Rozdział ".$lpx." - strona</label>
  16. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."\" value=\"".$c -> main[$x] -> page."\" required />
  17. </div>
  18. </div>
  19. <div class=\"col-sm-1\">
  20. <div class=\"form-group\">
  21. <label>Usuń rozdział</label>
  22. <a href=\"./index.php?page=edit&id=".$getID."&c=".$getCustomerName."&f=del&fn=".$catalog[$i] -> http://www.php.net/file."\" class=\"btn btn-md text-center btn-delete\" type=\"button\" id=\"deleteCat".$i."\" name=\"deleteCat".$i."\" style=\"width: 100%;\" onclick=\"return confirm('Czy na pewno usunąć ten rozdział i wszystkie jego linki?');\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten rozdział i wszystkie jego linki\"></span></a>
  23. </div>
  24. </div>
  25. <div class=\"col-sm-1\">
  26. <div class=\"form-group\">
  27. <label>Dodaj rozdział</label>
  28. <a href=\"./index.php?page=edit&id=".$getID."&c=".$getCustomerName."&f=addnew\" class=\"btn btn-md text-center btn-add\" type=\"button\" id=\"addCat".$i."\" name=\"addCat".$i."\" style=\"width: 100%;\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj kolejny rozdział\"></span></a>
  29. </div>
  30. </div>
  31. </div>
  32. ";
  33.  
  34. for ($y = 0; $y < $countLinks; $y++)
  35. {
  36. http://www.php.net/echo "
  37. <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink".$y."\">
  38. <div class=\"col-sm-8\">
  39. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$y."\" value=\"".$c -> main[$x] -> http://www.php.net/link[$y] -> title."\" required />
  40. </div>
  41. <div class=\"col-sm-2\">
  42. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$y."\" value=\"".$c -> main[$x] -> http://www.php.net/link[$y] -> page."\" required />
  43. </div>
  44. <div class=\"col-sm-1\">
  45. <a href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow".$y."\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a>
  46. </div>
  47. <div class=\"col-sm-1\">
  48. <a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow".$y."\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a>
  49. </div>
  50. </div>
  51. ";
  52.  
  53. // Skrypt dodający link
  54. $z = $y + 1;
  55. http://www.php.net/echo "
  56. <script>
  57. $('#addRow".$y."').click(function() {
  58. var thisRow = $('#rowLink".$y."');
  59. var i = '".$z."';
  60. $('<div class=\"col-sm-8\"><input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle'+ i +'\" required /></div><div class=\"col-sm-2\"><input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage'+ i +'\" required /></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+ i +'\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+ i +'\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a></div>').appendTo(thisRow);
  61. return false;
  62. });
  63. </script>
  64. ";
  65. }


probelm w tym ze to sie wykonuje nie tyle razy ile mam petle $y tylko $x...

Napisany przez: nospor 12.06.2018, 15:19:03

Cytat
...ale kliekniete raz...

"Uwielbiam" jak sie wyklocasz gdy sam tak malo ogarniasz. Momentalnie to zniecheca do jakiejkolwiej dalszej pomocy.

Co z tego ze klikniety raz, skoro w petli dales to:
$('.btn-add').click(function() {

czyli przypisales tyle zdarzen click ile miales obrotow petli a co za tym idzie na 1 click odpalilo sie to wlasnie tyle samo razy ile stworzyles zdarzen.

Generalne caly ten kod jest do wyrzucenia i przepisania na nowo bo taka sieczke zrobiles ze to nawet jak jakims cudem zadziala to za chwile znowu sie zwali zbyle powodu. Ale to juz moze ktos inny ci pomoze.

Napisany przez: shpaque 12.06.2018, 15:30:21

to bylo w miedzyczasie dla testu - caly czas jest

  1. $('#addRow".$y."').click(function()


jak mam przeniesc skrypt na zewnatrz skoro zalezny jest od zmienncch?

Napisany przez: nospor 12.06.2018, 15:30:35

No i jeszcze tworzysz jakis testowy kod ktory zaraz usuwasz ale glowe nim trujesz... A my musimy analizowac za kazdym razem wszystko.

Powtarza ci tyle razy ile masz $x bo w X powtarzasz cale $y od 0 i ponownie jak wczesniej tworzysz tyle zdarzen ile $x
O to
$('#addRow".$y."').click(function()
powtarzasz tyle razy $x i wiec ci odpala zdarzenie click wlasnie tyle razy. Logika tego co mowilem wczesniej sie nie zmienia.

Napisany przez: shpaque 13.06.2018, 11:59:08

no dobrze to wiem, ze logika sie nie zmienia, ale nie wysune skryptu poza petle bo w nim wlasnie wszystko uzaleznione jest od zmiennych dlatego tez nie pownno sie to zapetlac bo w kazdj petli zmienia sie zmienna...

to znaczy jakby zmienic nr id row i buttona, to moze sie udac?

czyli dodalem rand() i teraz robi pojedynczego jak powinien w idealnym miejscu - to co nie dziala, to kiedy kliekne w PLUSa utworzonego wiersza (bo w obecne jak daje plusa to dodaje pod nim tak jak trzeba, a w pustego nic sie nie dzieje)

  1. for ($y = 0; $y < $countLinks; $y++)
  2. {
  3. $z = $y."-".http://www.php.net/rand();
  4. http://www.php.net/echo "
  5. <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink".$z."\">
  6. <div class=\"col-sm-8\">
  7. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$y."\" value=\"".$c -> main[$x] -> http://www.php.net/link[$y] -> title."\" required />
  8. </div>
  9. <div class=\"col-sm-2\">
  10. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$y."\" value=\"".$c -> main[$x] -> http://www.php.net/link[$y] -> page."\" required />
  11. </div>
  12. <div class=\"col-sm-1\">
  13. <a href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow".$z."\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a>
  14. </div>
  15. <div class=\"col-sm-1\">
  16. <a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow".$z."\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a>
  17. </div>
  18. </div>
  19. ";
  20.  
  21. // Skrypt dodający link
  22. http://www.php.net/echo "
  23. <script>
  24. var i = '".$y."';
  25. $('#addRow".$z."').click(function() {
  26. var thisRow = $('#rowLink".$z."');
  27. $('<div class=\"col-sm-8\"><input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle'+ i +'\" required /></div><div class=\"col-sm-2\"><input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage'+ i +'\" required /></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+ i +'\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a></div><div class=\"col-sm-1\"><a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+ i +'\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a></div>').appendTo(thisRow);
  28. i++;
  29. return false;
  30. });
  31. </script>
  32. ";


probelm w tym ze to wszystko jest w tym samym row zamiast tworzyc sie nowego w petli $y jak to obejsc?

dlaczego nikt nie jest mi w stanie pomoc?

Napisany przez: Neutral 13.06.2018, 12:05:33

Czy chodzi Ci o te linie pod script? Jeśli tak, to po co tyle tego wkleiłeś?

Napisany przez: nospor 13.06.2018, 12:07:40

Cytat
dlaczego nikt nie jest mi w stanie pomoc?
Nie wiem jak inni ale ja ci juz pisalem: ten kod to sieczka i sie do niczego nie nadaje. Nawet jak kiedys zadziala to padnie przy pierwszej lepszej modyfikacji. Mi osobiscie nie chce sie marnowac czasu na jego naprawianie. Dodatkowo dochodzi fakt ze masz dziwne podejscie do pomagajacych i srednio bierzesz sobie do glowy to co ci mowia...

To trzeba wywalic i napisac od nowa.
Ma byc jedna funkcja addRow() nie tworzona w petli. Ona na podstawie kliknietego guzika ma pobrac sobie dane z tego guzika i dzialac na danym wierszu. Naprawde nie ma potrzeby tworzyc wielu takich funkcji.
Guziki zas zamiast unikalnych ID maja zawierac w sobie niezbedne dane chociazby w sekcji html "data-". Funkcja addRow() pobierze sobie te dane i bedzie wiedziec co ma robic.

Napisany przez: shpaque 13.06.2018, 12:15:34

czyli wyjsc z petli dac skrypt na sam koniec dokumentu a buttona id dac zeby mial w sobie nr katalogu($i), maina($x) i $y z petli?

Napisany przez: nospor 13.06.2018, 12:17:28

No i wlasnie to jest to o czym mowilem. NIe sluchasz co sie do ciebie mowi. Odnosnie ID oraz gdzie maja byc dane juz napisalem a ty to przeinaczyles.

Napisany przez: shpaque 13.06.2018, 12:22:26

czyli od poczatku a ma byc w tylu:

  1. <a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" data-cat=\"".$i."\" data-main=\"".$x."\" data-link=\"".$y."\" onlicki=\"addRow();\">
?

Napisany przez: nospor 13.06.2018, 12:25:53

Tak.

Tylko do addRow() masz przekazac referencje do guzika by addRow wiedzialo skad ma brac dane.

<a href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" data-cat=\"".$i."\" data-main=\"".$x."\" data-link=\"".$y."\" onclick=\"addRow(this);\">

No i dane, ktore sa wspolne dla danego wiersza nie musisz powielac w kazdym buttonie. Mozesz je przypisac do wiersza. Majac button jestes w stanie dobrac sie do wiersza. Zbedna duplikacja powoduje sieczke w kodzie w ktorej ciezko sie potem odnalezc

Napisany przez: shpaque 13.06.2018, 13:56:52

  1. <http://december.com/html/4/element/script.html>
  2. function addRow(this) {
  3. var catalogNumber = this.getAttribute('data-cat');
  4. var mainNumber = this.getAttribute('data-main');
  5. var linkNumer = this.getAttribute('data-link');
  6. var i = linkNumber + 1;
  7. var thisRow = $('#rowLink'+i);
  8. $('<http://december.com/html/4/element/div.html class=\"col-sm-8\"><http://december.com/html/4/element/input.html class=\"form-control text-center\" type=\"text\" name=\"linkTitle['+ i +']\" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-2\"><http://december.com/html/4/element/input.html class=\"form-control text-center\" type=\"text\" name=\"linkPage['+ i +']\" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-1\"><http://december.com/html/4/element/a.html href=\"#\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" id=\"removeRow'+ i +'\"><http://december.com/html/4/element/span.html class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class=\"col-sm-1\"><http://december.com/html/4/element/a.html href=\"#\" class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" id=\"addRow'+ i +'\"><http://december.com/html/4/element/span.html class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html>').appendTo(thisRow);
  9. return false;
  10. };
  11. </http://december.com/html/4/element/script.html>

co takiego? co teraz?

a kod zmienilem tak:

  1. <http://december.com/html/4/element/div.html class = "linki">
  2. <?php for ($y = 0; $y < $countLinks; $y++): ?>
  3. <http://december.com/html/4/element/div.html class="row">
  4. <http://december.com/html/4/element/div.html class="col-sm-8">
  5. <http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" value="<?php echo $c -> main[$x] -> link[$y] -> title; ?>" required />
  6. </http://december.com/html/4/element/div.html>
  7. <http://december.com/html/4/element/div.html class="col-sm-2">
  8. <http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" value="<?php echo $c -> main[$x] -> link[$y] -> page; ?>" required />
  9. </http://december.com/html/4/element/div.html>
  10. <http://december.com/html/4/element/div.html class="col-sm-1">
  11. <http://december.com/html/4/element/a.html href="#" class="btn btn-md text-center btn-delete" type="button" style="width: 100%;"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń ten link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html>
  12. </http://december.com/html/4/element/div.html>
  13. <http://december.com/html/4/element/div.html class="col-sm-1">
  14. <http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%;" data-row-cat="<?php echo $i; ?>" data-row-main="<?php echo $x; ?>" data-row-link="<?php echo $y; ?>" onliclick="addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html>
  15. </http://december.com/html/4/element/div.html>
  16. </http://december.com/html/4/element/div.html>
  17. <?php endfor ?>
  18. </http://december.com/html/4/element/div.html>


teraz ze skryptem poszedlem w ta strone:

  1. <http://december.com/html/4/element/script.html>
  2. $(document).ready(function() {
  3. function addRow(row) {
  4. var catNumber = row.getAttribute('data-row-cat');
  5. var mainNumber = row.getAttribute('data-row-main');
  6. var linkNumer = row.getAttribute('data-row-link');
  7.  
  8. var i = linkNumber++;
  9. var objTo = $('#cat' + catNumber + 'main' + mainNumber);
  10. var div = document.createElement("div");
  11. div.setAttribute("class", "row" + i);
  12.  
  13. div.innerHTML = '<http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" value="" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" value="" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" type="button" style="width: 100%;"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń ten link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' data-row-link=' + i + ' onliclick="addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>';
  14.  
  15. objTo.appendChild(div);
  16. return false;
  17. }
  18. });
  19. </http://december.com/html/4/element/script.html>


i nic nie dziala - tam w petli przynajmniej dzialalo jakos wink.gif a teraz zupelnie nie wiem co i dlaczego

poza tym dlaczego przy klieknieciu w button odswieza mi strone?

Napisany przez: nospor 13.06.2018, 14:07:05

Cytat
a teraz zupelnie nie wiem co i dlaczego
Wtedy tez nie wiedziales co i dlaczego wiec nie marudz tongue.gif

Odswieza ci strone bo dales button w form a button odswieza strone. Musisz anulowac button by nie dzialal jak submit.
nie: addRow(this);
a: return addRow(this);
przy zalozeniu ze addRow zwraca false co na chwile obecna masz w kodzie.

addRow(this)
this czyli zmienna row w addRow to jest obiekt js przycisku. Skoro uzywasz jQuery to przekonwertuj to na jquery i uzywac .data(). Ulatwiaj sobie zycie.

I zacznij w koncu przykladac sie do tego co piszesz..

onliclick.... powaznie? Naprawde nie widzisz co napisales? I potem sie dziwisz ze nikt nie chce ci pomoc jak totalnie olewacko podchodzisz do sprawy.

Napisany przez: shpaque 13.06.2018, 14:46:20

ok czyli wracamy do wersji poprzedniej

cos z tym row. data() pochrzanilem ale nie mam pojecia oczywiscie co, a z nuttona wrocilem do a i i tak przeladowuje;

  1. <http://december.com/html/4/element/script.html>
  2. function addRow(row) {
  3. var catNumber = row.data('rowCat');
  4. var mainNumber = row.data('rowMain');
  5. var linkNumer = row.data('rowLink');
  6.  
  7. var i = linkNumber++;
  8. var newRow = $('#cat' + catNumber + 'main' + mainNumber);
  9.  
  10. $('<http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" value="" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" value="" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" type="button" style="width: 100%;"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń ten link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' data-row-link=' + i + ' onliclick="addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>').appendTo(newRow);
  11. $i++;
  12. return false;
  13. }
  14. </http://december.com/html/4/element/script.html>


  1. <http://december.com/html/4/element/a.html href="" class="btn btn-md text-center btn-add" style="width: 100%;" data-row-cat="<?php echo $i; ?>" data-row-main="<?php echo $x; ?>" data-row-link="<?php echo $y; ?>" onclick="return addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/a.html>

Napisany przez: nospor 13.06.2018, 14:48:54

Przeczytaj jeszcze raz uwaznie moj poprzedni post. Mnie naprawde nie bawi powtarzac kilka razy co juz napisalem.
O konsoli bledow tez ci juz pisalem - to tak na marginesie

Napisany przez: shpaque 13.06.2018, 14:54:37

return addRow(this) - zrobiony
.data() dodany
onclick - zrobione

czego nie doczytalem

linkNumber is not defined

Napisany przez: nospor 13.06.2018, 14:55:31

Cytat
czego nie doczytalem
A tego ci nie powiem bo znowu bym musial wskazac palcem co przegapiles wink.gif
Juz o tym ze sam blad powinienies zobaczyc nie wspomne.

Napisany przez: shpaque 13.06.2018, 15:17:37

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

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


poprawilem bledy w skrypcie

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


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)

Napisany przez: nospor 13.06.2018, 15:31:24

Juz ci chyba kiedys pisalem, ze rowy to mozesz kopac a nie usuwac wink.gif

Cytat
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)
No teraz to ja nie rozumiem.

Napisany przez: shpaque 13.06.2018, 21:14:23

teraz musze dorobic opcje usuniecia analogicznie inputow, z tym ze z php robi petle z istniejacymi rowami, powiedzmy ze jest ich 3, dodaje za pomoca skryptu ktory tu robimy powiedzmy kolejne 3
- jak zrobic teraz skrypt zeby moc usunac np 5 rowow zostawiajac 1 w petli

cos na tej zasadzie, tylko

  1. function removeRow(row) {
  2. var catNumber = $(row).data('rowCat');
  3. var mainNumber = $(row).data('rowMain');
  4. var linkNumber = $(row).data('rowLink');
  5.  
  6. $('#cat' + catNumber + 'main' + mainNumber).remove();
  7. return false;
  8. }


1. nie moge skasowac wszystkich na raz (tylko pojedynczo) i musze zostawic zawsze 1.

czyli .remove() powinno byc przy child div tak? i w petli if linknumber > 0 ?

Napisany przez: Pyton_000 13.06.2018, 21:20:22

https://stackoverflow.com/questions/18874298/jquery-remove-all-elements-except-for-first-one

Napisany przez: shpaque 14.06.2018, 10:09:02

ok zadzialalo tak

  1. // Skrypt usuwający link
  2. function removeRow(row) {
  3. var catNumber = $(row).data('rowCat');
  4. var mainNumber = $(row).data('rowMain');
  5. var linkNumber = $(row).data('rowLink');
  6.  
  7. $('#cat' + catNumber + 'main' + mainNumber).find('.row:last-child').remove();
  8. return false;
  9. }



teraz tylko zeby 1 zawsze zostal

pewnie cos takiego trzeba
  1. function removeRow(row) {
  2. var catNumber = $(row).data('rowCat');
  3. var mainNumber = $(row).data('rowMain');
  4.  
  5. if ($('#cat' + catNumber + 'main' + mainNumber).not('.row:first-child')){
  6. $('#cat' + catNumber + 'main' + mainNumber).find('.row:last-child').remove();}
  7. return false;
  8. }

no ale takie kombinowanie nie dziala

@EDIT

mam to! dziękuję

  1. function removeRow(row) {
  2. var catNumber = $(row).data('rowCat');
  3. var mainNumber = $(row).data('rowMain');
  4.  
  5. $('#cat' + catNumber + 'main' + mainNumber).find('.row:last-child').not('.row:first-child').remove();
  6. return false;
  7. }


to teraz ,a, amnalogiczna rzecz:

  1. // Skrypt dodający rozdział
  2. var n = 1;
  3. function addMain(row) {
  4. var catNumber = $(row).data('rowCat');
  5. var mainNumber = $(row).data('rowCount');
  6. var x = mainNumber + n;
  7. var newMain = $('#cat' + catNumber);
  8.  
  9. $('<http://december.com/html/4/element/div.html class="row rozdzial" style="margin-bottom: 5px;"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Tytuł rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainTitle[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Strona rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainPage[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Usuń rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat=' + x + ' data-row-main=' + x + ' onclick="return removeMain(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Dodaj rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat=' + x + ' data-row-main=' + x + ' onclick="return addMain(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html id="cat' + catNumber + 'main' + x + '"><http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main="0" onclick="return removeRow(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main="0" onclick="return addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>').appendTo(newMain);
  10. n++;
  11. return false;
  12. }


@EDIT

ok tam juz poprawione, musialem dodac zmienna "n", pierwszy raz bedzie ok, ale przy kolejnym tworze n wychodzi mi NaN

  1. var n = 0;
  2. function addMain(row) {
  3. var catNumber = $(row).data('rowCat');
  4. var rowCount = $(row).data('rowCount');
  5. var mainNumber = rowCount + n;
  6. var newMain = $('#cat' + catNumber);
  7.  
  8. $('<http://december.com/html/4/element/div.html class="row rozdzial" style="margin-bottom: 5px;"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Tytuł rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainTitle[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Strona rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainPage[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Usuń rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return removeMain(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Dodaj rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return addMain(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html id="cat' + catNumber + 'main' + mainNumber + '"><http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return removeRow(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>').appendTo(newMain);
  9. n++;
  10. return false;
  11. }

Napisany przez: Neutral 14.06.2018, 11:01:40

Napisz może parseInt lub parseFloat.

Napisany przez: shpaque 14.06.2018, 17:34:27

nie dzialaja

jak to zrobic?

  1. var n = 1;
  2. function addMain(row) {
  3. var catNumber = $(row).data('rowCat');
  4. var rowCount = $(row).data('rowCount');
  5. var mainNumber = rowCount + n;
  6. var newMain = $('#cat' + catNumber);
  7.  
  8. $('<http://december.com/html/4/element/div.html class="row rozdzial" style="margin-bottom: 5px;"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Tytuł rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainTitle[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Strona rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainPage[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Usuń rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return removeMain(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Dodaj rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return addMain(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html id="cat' + catNumber + 'main' + mainNumber + '"><http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return removeRow(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>').appendTo(newMain);
  9. n++;
  10. return false;
  11. }

Napisany przez: Neutral 14.06.2018, 22:52:44

Nie jestem pewien, ale może to pójdzie:

Kod
var mainNumber = parseFloat(rowCount) + parseFloat(n);

Napisany przez: shpaque 15.06.2018, 09:13:41

wtedy dostaje tak:

pierwszy generowany ma id "cat1Main0"
drugi: cat1Main2 questionmark.gif
trzeci Cat1MainNaN

  1. var c = 0;
  2. function addMain(row) {
  3. var catNumber = $(row).data('rowCat');
  4. var rowCount = $(row).data('rowCount');
  5. var n = c;
  6. var mainNumber = rowCount + n;
  7. var newMain = $('#cat' + catNumber);
  8.  
  9. $('<http://december.com/html/4/element/div.html class="row rozdzial" style="margin-bottom: 5px;"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Tytuł rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainTitle[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Strona rozdziału</http://december.com/html/4/element/label.html><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="mainPage[]" required /></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Usuń rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return removeMain(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/div.html class="form-group"><http://december.com/html/4/element/label.html>Dodaj rozdział</http://december.com/html/4/element/label.html><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat=' + catNumber + ' data-row-main=' + mainNumber + ' onclick="return addMain(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj rozdział"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html id="cat' + catNumber + 'main' + mainNumber + '"><http://december.com/html/4/element/div.html class="row"><http://december.com/html/4/element/div.html class="col-sm-8"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkTitle[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-2"><http://december.com/html/4/element/input.html class="form-control text-center" type="text" name="linkPage[]" required /></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-delete" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return removeRow(this);"><http://december.com/html/4/element/span.html class="fa fa-remove icon-md" title="Usuń link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="col-sm-1"><http://december.com/html/4/element/button.html class="btn btn-md text-center btn-add" style="width: 100%; height: 100%;" data-row-cat="' + catNumber + '" data-row-main=' + mainNumber + ' onclick="return addRow(this);"><http://december.com/html/4/element/span.html class="fa fa-plus icon-md" title="Dodaj link"></http://december.com/html/4/element/span.html></http://december.com/html/4/element/button.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>').appendTo(newMain);
  10. c++;
  11. return false;
  12. }


nawet jak tak to rozpisze to pierwszy jest cat0main0, drugi cat0main1, a juz trzeci cat0mainNan


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)