[Javascript] Somma di un campo in una tabella dinamica

AlP

Nuovo Utente
18 Mar 2018
7
0
1
39
Ciao a tutti,
ho una tabella nella quale genero le righe con uno script, dovrei però fare la somma di uno specifico campo "totale", questo è lo script:

Codice:
var num=1;
function accoda(){
    if(document.createElement && document.getElementById && document.getElementsByTagName) {
        // crea elementi
        var oTr=document.createElement("TR");
        oTr.setAttribute("class","product");
        var oTd1=document.createElement("TD");
        var oTd2=document.createElement("TD");

var oField=document.createElement("INPUT");
 $(function() {
    $(oField).autocomplete({
        source: "cerca_oggetto.php",
                        });

    });

         var oFieldB=document.createElement("INPUT"); 
         var oFieldC=document.createElement("INPUT"); 
         var oFieldD=document.createElement("INPUT"); 
         var oFieldE=document.createElement("INPUT");
         var oButt=document.createElement("INPUT");



        // setta attributi
         oField.setAttribute("type","text");
        oField.setAttribute("name","codice_"+num);
        oField.setAttribute("id","codice_");
        oField.setAttribute("placeholder","Nome Prodotto");
        oField.setAttribute("size","30");
        oField.setAttribute("class","codice");  
        oField.setAttribute("onchange", "myFunction(this)");

                oFieldB.setAttribute("type","text");
                oFieldB.setAttribute("name","un_misura"+num);
        oFieldB.setAttribute("id","un_misura_");
        oFieldB.setAttribute("placeholder","Un. Misura");
                oFieldB.setAttribute("readonly","");
        oFieldB.setAttribute("size","10");
        oFieldB.setAttribute("class","un_misura");
        oFieldB.setAttribute("style","text-align:center");

        oFieldC.setAttribute("type","text");
                oFieldC.setAttribute("name","prezzo_"+num); 
        oFieldC.setAttribute("id","prezzo_"); 
        oFieldC.setAttribute("placeholder","Prezzo'");
        oFieldC.setAttribute("size","8");
                oFieldC.setAttribute("class","prezzo");
        oFieldC.setAttribute("style","text-align:right");


        oFieldD.setAttribute("type","text");
                oFieldD.setAttribute("name","qta_"+num);
        oFieldD.setAttribute("id","qta_"); 
        oFieldD.setAttribute("placeholder","Quantita'");
        oFieldD.setAttribute("size","8");
                oFieldD.setAttribute("class","qta");
        oFieldD.setAttribute("onkeyup", "calc(this)");
        oFieldD.setAttribute("style","text-align:center");

        oFieldE.setAttribute("type","text");
                oFieldE.setAttribute("name","tot"+num);
        oFieldE.setAttribute("id","tot_"); 
        oFieldE.setAttribute("placeholder","Tot'");
        oFieldE.setAttribute("size","8");
                oFieldE.setAttribute("readonly","");
        oFieldE.setAttribute("class","tot");
        oFieldE.setAttribute("style","text-align:right");
        oFieldE.setAttribute("onkeyup", "total(this)");

        oButt.setAttribute("type","button");
        oButt.setAttribute("class","btn btn-danger");
        oButt.setAttribute("value","rimuovi");


        // setta gestore evento
        if(oButt.attachEvent) oButt. attachEvent('onclick',function(e){rimuovi(e);})
        else if(oButt.addEventListener) oButt. addEventListener('click',function(e){rimuovi(e);},false)


        // appendi al relativo padre
        oTd1.appendChild(oField);
        oTd1.appendChild(oFieldB); 
    oTd1.appendChild(oFieldC);
        oTd1.appendChild(oFieldD);
    oTd1.appendChild(oFieldE);

        oTd2.appendChild(oButt);
        oTr.appendChild(oTd1);
        oTr.appendChild(oTd2);
        document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);

var tot_ricetta =0;
$('tabella').each(function(){
tot_ricetta +=Number($(this).children('.tot').val());
});

        alert (tot_ricetta); 
        $("#tot_ricetta").html(tot_ricetta);


    document.getElementById('iterazioni_form_aggiuntivi').value = num;
        // incrementa variabile globale
        num++
    }


}

function rimuovi(e){
    if(document.removeChild && document.getElementById && document.getElementsByTagName) {
        if(!e) e=window.event;
        var srg=(e.target)?e.target:e.srcElement;


        // risali al tr del td che contiene l' elemento che ha scatenato l' evento
        while(srg.tagName!="TR"){srg=(srg.parentNode)?srg.parentNode:srg.parentElement}


        // riferimento al tbody
        var tb=document.getElementById('tabella').getElementsByTagName('TBODY')[0];

        // rimuovi
        tb.removeChild(srg);
    }
}

Il risultato è NaN oppure indefinito...
Però il problema è anche quello che in caso si rimuova la riga il totale deve aggiornarsi...
Qualcuno può aiutarmi?

Grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
Emix [Javascript] Somma con array input HTML Javascript 1
A [Javascript] Somma di input dinamici Javascript 1
Bunz [Javascript] somma orario input + calcolo straordinario Javascript 3
K Somma con valori radiobutton (javascript) Javascript 0
I Creare un banner temporaneo JavaScript Javascript 0
S Impossibile scorrere un oggetto in JavaScript Javascript 0
N Passare array da php a javascript PHP 5
L Quiz javascript funzionante da migliorare Javascript 0
P errore 404 con javascript Javascript 2
D aiuto funzioni javascript Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
L countdown multiplo javascript Javascript 1
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 1
F Creare elementi html con javascript Javascript 3
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
E lettura da un Database con Javascript jQuery 2
V TRIS in javascript Javascript 1
IClaude Funzione Javascript Javascript 8
Alex_70 Javascript date color Javascript 3
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
I Passare dei parametri in javascript PHP 0
Shyson Meglio Javascript o HTML? Javascript 4
G Problema verifica palindromo e verifica pari e dispari javascript Javascript 0
M Chiamare pagina php da javascript Javascript 8
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
D Javascript per il download dei dati Javascript 0
grgfede Problema javascript con aruba Javascript 1
R Cerco supporto in programmazione javascript Offerte e Richieste di Lavoro e/o Collaborazione 0
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
G Quiz Javascript Javascript 4
A [Javascript] Scrittura su più campi contemporaneamente Javascript 18
F classic asp popolare combo box javascript Presentati al Forum 1
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
F [Javascript] comando innerHTML non funziona Javascript 5
alexice51 proggrammi per scrivere in javascript? Javascript 3

Discussioni simili