Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] mnozenie wartosci z tablic
Forum PHP.pl > Forum > Przedszkole
lutador
Witam,

chcialbym wykonac operacje mnozenia na dwoch tablicach. Mam formularz gdzie moze byc N inputow. Kazdy input ma ta sama wartosc w name ilosc lub cena_netto. Pobieram do tablicy wartosci i chcialbym pomnozyc te dwie tablice przez siebie, name[1] * ilosc[1] itd tak cala tablice. Jak mozna to zrobic?
Może jest inny latwiejszy sposob rozwiązania mojego problemu?

  1.  
  2. var il_1=document.getElementsByName("ilosc[]");
  3. var cena_1=document.getElementsByName("cena_netto[]");
  4.  
  5.  
skowron-line
pętla for.
lutador
dobrze pobieram dane ?
bo chcialem narazie tylko wypisac elementy tablicy i nic sie nie pojawia :/
  1. for(var i=0;i<cena_1.length;i++){
  2.  
  3. document.write(cena_1[i] + "55");
  4.  
  5. }
  6.  
  7.  
phpion
A skąd Ci się bierze zmienna cena_1? Generalnie sugeruję testowanie poprzez alert, a nie document.write (czyli alert(cena_1[i] + "55")). Możesz sobie też alert'nąć liczbę elementów cena_1 (alert(cena_1.length)) bo może jest równa 0.
lutador
Dobrze pobieram dane ? bo nic sie nie pojawia

cena_1(alert(cena_1.length)) wynosi 0. Jak moge poprawnie pobrac dane?

  1.  
  2. <input type="text" size="30" name="ilosc" value="wprowadz nazwe"/>
  3. <input type="text" size="5" name="cena_netto" />
  4.  
  5. <input type=button onClick=policz(); value="Policz">
  6.  
  7. function policz(){
  8.  
  9. var il_1=document.getElementsByName("ilosc[]");
  10. var cena_1=document.getElementsByName("cena_netto[]");
  11. var wynik = [ ];
  12.  
  13. for(var i=0;i<cena_1.length;i++){
  14.  
  15. alert(cena_1[i] + "55");
  16. cena_1(alert(cena_1.length))
  17.  
  18. }
  19.  


dane juz pobieram i mnoze ale mam problem z sumowaniem tablicy wynik_netto. Napisalem petle for ale nie sumuje. Petle zwraca np 9+9=99 zamiast 18
Moze mi jeszcze ktos powiedziec co robi linia linia wynik_netto[i] = wartosc_netto[i]; ?

  1. <input type="text" size="30" name="nazwa" value="wprowadz nazwe"/>
  2. <input type="text" size="5" name="ilosc" />
  3. <input type="text" size="10" name="cena_netto" />
  4. <input onFocus="this.blur()" name="wartosc_netto" class="Disable">
  5. <input name="podsumowanie1_netto" onFocus="this.blur()" class="Disable">
  6. <input type=button onClick=policz(); value="Policz">
  7.  
  8. function policz(){
  9.  
  10. var wynik_netto = [ ];
  11. var wynik_brutto = [ ];
  12.  
  13. var ilosc=document.getElementsByName("ilosc");
  14. var cena_netto=document.getElementsByName("cena_netto");
  15. var wartosc_netto=document.getElementsByName("wartosc_netto");
  16. var wartosc_brutto=document.getElementsByName("wartosc_brutto");
  17. var podsumowanie1_netto=document.getElementsByName("podsumowanie1_netto");
  18.  
  19. for(var i=0;i<ilosc.length;i++){
  20.  
  21. wynik_netto[i] = wartosc_netto[i];
  22. wynik_netto[i].value = (ilosc[i].value) * (cena_netto[i].value);
  23.  
  24. wynik_brutto[i] = wartosc_brutto[i];
  25. wynik_brutto[i].value = (ilosc[i].value) * (cena_netto[i].value) * 1.22;
  26.  
  27. }
  28.  
  29. var sum_netto =0;
  30. for (i=0; i<wynik_netto.length; i++){
  31.  
  32. sum_netto = podsumowanie1_netto[i];
  33. sum_netto.value = sum_netto.value + wynik_netto[i].value;
  34.  
  35. }
  36. alert(sum_netto.value);
  37. }
  38.  
  39.  
  40.  
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.