Esempio completo con il quale puoi giocare.
Per quanto riguarda l'html disabilita i campi relativi al totale della riga (aggiungendo disabled='disabled'), e cerca di dare un id o una class alla tabella fatto questo l'html per come l'hai postato va bene.
Per quanto riguarda jquery
Al link iniziale troverai il codice scritto sicuramente in maniera più pulita.codice:$(function(){ //calcolo quando carico la tabella calcolatotali(); //ricalcolo ogni volta che interagisco con i campi di testo $(".minifield").keyup(function(){calcolatotali();}); }); function calcolatotali() { //oggetto che salva i totali report = {totale:0, qta:0, prezzo:0}; //scorro le righe della tabella $.each($("#mytable tr"), function(){ //prendo per ogni riga i valori che servono a calcolare il totale var sconto=parseFloat($(this).find(".minifield[name='Sconto1']").val()); var qta=parseFloat( $(this).find(".minifield[name='Quantita']").val()); var prezzo=parseFloat( $(this).find(".minifield[name='Prezzo']").val()); //calcolo il totale della riga var totriga = prezzo*qta - (prezzo*qta)*(sconto/100); //lo scrivo nell'apposito campo $(this).find(".minifield[name='TotRiga']").val(totriga); //aggiorno le property dell'oggetto report report.qta += qta; report.prezzo += (prezzo*qta); report.totale += totriga; }); //dump dell'oggetto report console.log(report) ; }
Fai attenzione però che dovresti aggiungere la validazione dei campi (l'utente potrebbe inserire lettere e altri simboli) e inoltre keyup potrebbe non funzionare su tutti i browser.

Rispondi quotando