Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]Dodanie konkretnego elementu
Dominator
post
Post #1





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Cześć
Mam sobie tabelkę:

  1. <table>
  2. <thead>
  3. <tr>
  4. ...
  5. </tr>
  6. </thead>
  7. <tbody>
  8. <tr>
  9. <td><img src="..." /></td>
  10. <td> nick1</td>
  11. <td>0</td>
  12. <td><a href='#' id='tak'>Dodaj</a> <a href='#' id='nie'>Usuń</a></td>
  13. </tr>
  14. <tr>
  15. <td><img src="..." /></td>
  16. <td> nick2</td>
  17. <td>0</td>
  18. <td><a href='#' id='tak'>Dodaj</a> <a href='#' id='nie'>Usuń</a></td>
  19. </tr>
  20.  


W komórce td jest wartość zero. Jak napisać takie cudo, że po kliknięciu na Dodaj w konkretnej komórce jej wartość zwiększy się o 1? Kombinowałem różnymi sposobami, ale zawsze głupoty mi wychodziły.

Ten post edytował Dominator 18.09.2014, 16:16:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





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




Pobierasz zawartosc komorki
Parsujesz na inta - parseInt()
Dodajesz 1
Zapisujesz spowrotem do komorki


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

"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
Dominator
post
Post #3





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Cytat(nospor @ 18.09.2014, 17:24:59 ) *
Pobierasz zawartosc komorki
Parsujesz na inta - parseInt()
Dodajesz 1
Zapisujesz spowrotem do komorki


Właśnie mam problem z pobraniem zawartości komórki... o to głównie mi chodzi.
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Z pierwszego posta nic takiego nie wynikalo, bys mial wlasnie z tym problem. Precyzuj wiec swoje pytania...

jQuery:

Kod
<td><a href='#' id='tak' onclick="Add(this);return false;">Dodaj</a> <a href='#' id='nie'>Usuń</a></td>

Kod
function Add(obj) {
alert(jQuery(obj).parent().prev().html()); //to ci zwroci zawartosc komorki

//skoro z resztą nie masz problemu, mozesz dopisac sam
}


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

"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
Dominator
post
Post #5





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Coś jest nie tak, bo konsola mówi, że "Uncaught ReferenceError: Add is not defined", a kod JS jest na stronie.
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Widac zle go dodales, skoro go nie widzi.
Dales go chociaz w sekcji js czy na zywce wstawiles w htmlu?


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

"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
Dominator
post
Post #7





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Wstawiłem go do pliku js
Całość wygląda tak:

  1. $(document).ready(function()
  2. {
  3. window.onload = function()
  4. {
  5. function Add(obj)
  6. {
  7. alert(jQuery(obj).parent().prev().html());
  8. }
  9. $("a").click(function() {
  10. var nick = ($(this).attr("id"));
  11. var akcja = $(this).html();
  12. if(akcja == "Dodaj")
  13. {
  14. //$.ajax({ url: 'http://localhost/strona/edytuj.php?akcja=dodaj&nick=' + nick });
  15. }
  16. else if(akcja == "Usuń")
  17. {
  18. //$.ajax({ url: 'http://localhost/strona/edytuj.php?akcja=usun&nick=' + nick });
  19. }
  20. //$("table").delegate("tr", "click", function() { });
  21.  
  22. });
  23. };
  24. });


Ten post edytował Dominator 18.09.2014, 16:56:24
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Deklaracje funkcji dodaje sie poza blokami {}. W przeciwnym wypadku będą one funkcjami lokalnymi dla tych blokow wiec nic dziwnego ze ci nie widzi jej gdzie indziej


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

"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
Dominator
post
Post #9





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Okej, faktycznie zwraca mi zawartość komórki, aczkolwiek napotkałem kolejny problem. Otóż skrypt nie chce dodawać wartości - dlaczego? Miejsce, w którym skrypt ma zwiększać wartość o 1 musi być w bloku if.

  1. function Add(obj)
  2. {
  3. tekst = $(obj).parent().prev().html();
  4. }
  5.  
  6. $(document).ready(function()
  7. {
  8. window.onload = function()
  9. {
  10. $("a").click(function() {
  11. var nick = ($(this).attr("id"));
  12. var akcja = $(this).html();
  13. if(akcja == "Dodaj")
  14. {
  15. $.ajax({ url: 'http://localhost/strona/edytuj.php?akcja=dodaj&nick=' + nick });
  16. tekst += 1; //zwiększanie wartości
  17. }
  18. else if(akcja == "Usuń")
  19. {
  20. $.ajax({ url: 'http://localhost/strona/edytuj.php?akcja=usun&nick=' + nick });
  21. }
  22. //$("table").delegate("tr", "click", function() { });
  23.  
  24. });
  25. };
  26. });


Ten post edytował Dominator 18.09.2014, 17:07:20
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




alert(tekst);
tekst += 1; //zwiększanie wartości
alert(tekst);

Naucz sie samemu ANALIZOWAC tak BANALNE problemy


Nie bede juz wspominal nawet o fakcie, ze wyraźnie jednym z krokow bylo zrzutowanie tekstu na liczbe. No ale po co czytac co sie do niego pisze. Lepiej walic posta za postem bez zadnego namyslu...

Cytat
Miejsce, w którym skrypt ma zwiększać wartość o 1 musi być w bloku if.
Nie, nie musi, gdyz funkcje Add wstawilem ci recznie do konkretnego A.


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

"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

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 12:05