[risolto] Problema funzione raggruppamento di elementi

pinuzzo999

Nuovo Utente
22 Gen 2014
3
0
0
Salve a tutti,
non sono molto pratico di javascript e mi sono arrangiato nel creare una funzione per la fatturazione che possa raccogliere i prodotti con la stessa aliquota iva, sommare il loro costo al netto e calcolare l'imposta sul totale. Ho provato a scrivere questa funzione, ma mi restituisce un array (che ho chiamato "iva") con un gran numero di valori undefinited.
Quale potrebbe essere l'errore?
Grazie
Pino
Codice:
function tot(){  
  var campi = $("#campi").val();//il numero degli articoli
  iva = new Array();
  var y = 0;
  var x;
  var n;
  for(x = 0; x < campi; x++){//ciclo scorro i campi
    n = parseInt($("#iva_"+x).val());
    if(iva.length == 0){//controllo se e' il primo risultato inserito
      iva[n] = parseFloat($("#in_0").val());
    }else{//se non lo e'
      for(var iv in iva){//scorro l'array dell'iva
        if(n == iv){//controllo se l'iva e gia' presente
          iva[iv] = iva[iv] + parseFloat($("#in_"+x).val());
        }else{//creo un nuovo risultato
          iva[n] = parseFloat($("#in_"+x).val());
        }
      }//fine ciclo iva
    }//fine condizione risulatato
  }//fine ciclo di for
  /*Mostro i risultati*/
  var imp;
  var ivas;
  var totiva;
  var lordo;
  var tot;
  for(var iv in iva){//scorro l'array dell'iva
    imp = iva[iv];
    ivas = iv;
    totiva = (imp*ivas)/100;
    lordo = imp+totiva;
    $("#imp").append("<tr id='i_"+y+"'><td>"+imp+"</td><td>"+ivas+"</td><td>"+lordo+"</td></tr>");
    y = y+1;
  }
}
 

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
Non so se ho capito bene però forse il tuo errore si trova qui :
Codice:
for(var iv in iva){//scorro l'array dell'iva
        if(n == iv){//controllo se l'iva e gia' presente
          iva[iv] = iva[iv] + parseFloat($("#in_"+x).val());
        }else{//creo un nuovo risultato
          iva[n] = parseFloat($("#in_"+x).val());
        }
      }

quando fai il controllo if(n == iv) tu vai a vedere se la variabile n è uguale all'indice dell'array e forse è questo che è sbagliato! Quindi dovresti scrivere if(n == iva[iv]) con il quale controlli se la variabile n è uguale al valore dell'elemento con indice iv nell'array iva :)

Quindi così:
Codice:
for(var iv in iva){//scorro l'array dell'iva
        if(n == iva[iv]){//controllo se l'iva e gia' presente
          iva[iv] = iva[iv] + parseFloat($("#in_"+x).val());
        }else{//creo un nuovo risultato
          iva[n] = parseFloat($("#in_"+x).val());
        }
      }

Fammi sapere :)
 

pinuzzo999

Nuovo Utente
22 Gen 2014
3
0
0
Non so se ho capito bene però forse il tuo errore si trova qui :
Codice:
for(var iv in iva){//scorro l'array dell'iva
        if(n == iv){//controllo se l'iva e gia' presente
          iva[iv] = iva[iv] + parseFloat($("#in_"+x).val());
        }else{//creo un nuovo risultato
          iva[n] = parseFloat($("#in_"+x).val());
        }
      }

quando fai il controllo if(n == iv) tu vai a vedere se la variabile n è uguale all'indice dell'array e forse è questo che è sbagliato! Quindi dovresti scrivere if(n == iva[iv]) con il quale controlli se la variabile n è uguale al valore dell'elemento con indice iv nell'array iva :)

Quindi così:
Codice:
for(var iv in iva){//scorro l'array dell'iva
        if(n == iva[iv]){//controllo se l'iva e gia' presente
          iva[iv] = iva[iv] + parseFloat($("#in_"+x).val());
        }else{//creo un nuovo risultato
          iva[n] = parseFloat($("#in_"+x).val());
        }
      }

Fammi sapere :)
Grazie per la risposta :D, ma non era quello il problema, infatti l'iva, che è contenuta nell'indice dell'array, essendo un dato numerico veniva posizionata nella 22esima posizione e quindi i campi da 0 a 21 rimanevano vuoti.
 
Discussioni simili
Autore Titolo Forum Risposte Data
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
S Problema in PHP per invio file XML - RISOLTO- PHP 8
T [Photoshop] Problema creazione pennello personalizzato [RISOLTO] Photoshop 3
F [risolto] Problema javascript Internet Explorer Javascript 1
otto9due [risolto] Problema sessioni php e login PHP 5
Alessandro Le Mura [risolto] PHP problema memorizzazione array PHP 4
S [risolto] Problema riempimento di una tabella PHP 6
T [Javascript] [RISOLTO] Problema con Google Maps e "Zero_Results" Javascript 11
M [RISOLTO] Problema con 'a:hover' HTML e CSS 12
Virginia86 [risolto] Problema select e verifica form PHP 38
M [RISOLTO]Problema controllo e passaggio di valori da una pagina all''altra PHP 4
H [RISOLTO]Problema connessione + insert mysqli PHP 10
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
lsnight [RISOLTO] Problema con mouseout ed immagini Javascript 2
V [RISOLTO]Problema con il POST PHP 8
A [Risolto] Problema con un list box Classic ASP 2
M [Risolto]Problema con risposta json Sviluppo app per Android 6
C [RISOLTO] Problema somma td, prende solo il primo valore jQuery 7
C Problema Risolto Flash 0
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1

Discussioni simili