Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JS]Dynamiczne dodoawanie
beher83
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.01.2014
Skąd: Irlandia

Ostrzeżenie: (0%)
-----


Mam małą zagwozdkę, a mianowicie..
Stworzyłem box score dla drużyn koszykówki. Po wybraniu ilości dogrywek i wybraniu 2 drużyn pojawia się pusta tabela w której można wpisać zdobyte punkty, zbiórki, asysty itd.. Tabela pojawia się w tzw. zakładkach odpowiednio do każdej kwarty (q1,q2,q3,q4 ) oraz jeżeli są to również dogrywki. Na samym końcu jest zakładka Final Box.
I tu moje pytanie, w jaki sposób sumować wszystkie pola np. pkt danego gracza używając onkeyup by w final box pojawiała się suma np. pkt z każdej kwarty i dogrywek.
Będę wdzięczny za podpowiedzi, oraz przykłady jakichś skryptów które mogę przeanalizować i się z nich uczyć.
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




To co chcesz zrobic z php nie ma zadnego związku... sam piszesz o uzyciu onkeyup a to jest js. przenosze.
Go to the top of the page
+Quote Post
beher83
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.01.2014
Skąd: Irlandia

Ostrzeżenie: (0%)
-----


Witam czy ktoś może ma jakiś pomysł na sumowanie tych pól przy użyciu onkeyup lub jakiś inny pomysł ?
Go to the top of the page
+Quote Post
tzm
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

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


http://jsfiddle.net/wqm6y8ku/

Nie wiem czy dobrze zrozumiałem przykład ale to Cie bardzo nakieruję.
Go to the top of the page
+Quote Post
beher83
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.01.2014
Skąd: Irlandia

Ostrzeżenie: (0%)
-----


  1. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  2. function add(obj){
  3.  
  4. var x = obj.id;
  5. var i = x.substr(3,2);
  6. var j = x.substr(0,3);
  7. var z = j+i;
  8. a = $('#fb_'+z).text();
  9. v = $('#'+z).val();
  10. sum = parseInt(a)+parseInt(v);
  11. $("#fb_"+z).html(sum);
  12. }
  13. <div class='tab'>
  14. kwarta 1<br>
  15. gracz1: <input type='text' id='fg1' size='1' maxlength='2' onkeyup='add(this)'>
  16. gracz2: <input type='text' id='fg2' size='1' maxlength='2' onkeyup='add(this)'>
  17. gracz3: <input type='text' id='fg3' size='1' maxlength='2' onkeyup='add(this)'>
  18. </div>
  19. <div class='tab'>
  20. kwarta 2<br>
  21. gracz1: <input type='text' id='fg1' size='1' maxlength='2' onkeyup='add(this)'>
  22. gracz2: <input type='text' id='fg2' size='1' maxlength='2' onkeyup='add(this)'>
  23. gracz3: <input type='text' id='fg3' size='1' maxlength='2' onkeyup='add(this)'>
  24. </div>
  25. <br><br>
  26. gracz1: <span id='fb_fg1'>0</span>
  27. gracz2: <span id='fb_fg2'>0</span>
  28. gracz3: <span id='fb_fg3'>0</span>
  29. </body>


zakładamy że kwarta 1 i 2 są w zakładkach (nie chce mi sie całego kodu wklejac)
Udało mi sie dojść do czegoś takiego i troche utknąłem... a mianowicie jeżeli wpisuje cyfry tylko w np. kwarta 1-> gracz 1 to wszystko mi sumuje w wyniki gracz 1, ale jak wpisze juz do kwarta2->gracz 1 to wtedy bieże znów gracza z pierwszej kwart.. jak to zrobic by bylo dobrze i sumowalo gracza 1 z kwarty 1 i 2, gracza 2 z kwart 1 i 2 itd..?
nie moge zmienic id w każdej kwarcie na różne gdyż kwart jest więcej..
miałby ktoś jakiś pomysł?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Źle się do tego zabierasz.
Na event onKeyUp powinieneś sumować wartości z pól odpowiadających np. graczowi a nie dodawać to co wklepiesz do sumy, bo jak sie pomylisz to będzie Ci nadal dodawało, a i jak wpiszesz np. 22 to doda Ci raz 2 a potem 22 czyli 24 (IMG:style_emoticons/default/smile.gif)
Poza tym id ma być unikalne, a Ty używasz tego samego dla różnych zakładek np. fg1

[Update]
No dobra, nudzi mi się (IMG:style_emoticons/default/wink.gif) Wybaczcie mi (IMG:style_emoticons/default/smile.gif) Za dobre serce dziś mam.
  1. <div class='tab'>
  2. kwarta 1<br>
  3. gracz1: <input type='text' class="player_1" name="player_1" size='1' maxlength='2'>
  4. gracz2: <input type='text' class="player_2" name="player_2" size='1' maxlength='2'>
  5. gracz3: <input type='text' class="player_3" name="player_3" size='1' maxlength='2'>
  6. </div>
  7. <div class='tab'>
  8. kwarta 2<br>
  9. gracz1: <input type='text' class="player_1" name="player_1" size='1' maxlength='2'>
  10. gracz2: <input type='text' class="player_2" name="player_2" size='1' maxlength='2'>
  11. gracz3: <input type='text' class="player_3" name="player_3" size='1' maxlength='2'>
  12. </div>
  13. <div class='tab'>
  14. kwarta 3<br>
  15. gracz1: <input type='text' class="player_1" name="player_1" size='1' maxlength='2'>
  16. gracz2: <input type='text' class="player_2" name="player_2" size='1' maxlength='2'>
  17. gracz3: <input type='text' class="player_3" name="player_3" size='1' maxlength='2'>
  18. </div>
  19. <div class='tab'>
  20. kwarta 4<br>
  21. gracz1: <input type='text' class="player_1" name="player_1" size='1' maxlength='2'>
  22. gracz2: <input type='text' class="player_2" name="player_2" size='1' maxlength='2'>
  23. gracz3: <input type='text' class="player_3" name="player_3" size='1' maxlength='2'>
  24. </div>
  25.  
  26. <br><br>
  27. gracz1: <span id='sum_1'>0</span>
  28. gracz2: <span id='sum_2'>0</span>
  29. gracz3: <span id='sum_3'>0</span>
  30.  
  31. $(function() {
  32. $('input[name^="player"]').keyup(function(event) {
  33. var player = $(this).attr("name").split('_');
  34. player = player[1];
  35.  
  36. var player_sum = 0;
  37.  
  38. $('.player_'+player).each(function(index, el) {
  39. var pt = parseInt($(el).val());
  40. if(!isNaN(pt))
  41. {
  42. player_sum += pt;
  43. }
  44. });
  45. $('#sum_'+player).html(player_sum);
  46. });
  47. });


Ten post edytował Pyton_000 8.11.2014, 22:05:58
Go to the top of the page
+Quote Post
beher83
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 5.01.2014
Skąd: Irlandia

Ostrzeżenie: (0%)
-----


Wielkei dzięki o coś takiego mi chodziło teraz to sobie przestudiuje co i jak oraz z kad co sie bierze (IMG:style_emoticons/default/smile.gif) jeszcze raz dzieki
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: 24.08.2025 - 02:22