Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Calcolo Quantità per Importo

    Ciao raga,
    avrei la necessità di un vostro aiuto,
    dovrei effettuate una moltiplicazione di due campi [q.tà * importounitario]
    e mostrare il risultato in una colonna denominata totale.

    CommessaCalcoli.jpg

    Potrei farlo con javascript ?

    Questo un pezzo del codice...

    codice:
    <table>
            <td>Intervento</td>
            <td>Fornitore</td>
    		<td>Q.ta</td>
    		<td>Unitario</td>
          	<td>Totale</td>
            </tr>
          <tr>
            </tr>
          <tr>
            <td><input name="itr1" class="uppercase" id="itr1" size="40"></td>
            <td><input name="for1" class="uppercase" id="for1" size="15"></td>
    		<td><input name="Q.ta" class="uppercase" id="q1" size="2" value="0"></td>
    		<td><input name="Imp.Unitario" class="uppercase" id="iu1" size="2" value="0.00"></td>
            <td><input name="imp_1" id="imp_1" size="4" value="0.00"></td>
            </tr>
          <tr>
            <td><input name="itr2" class="uppercase" id="itr2" size="40"></td>
            <td><input name="for2" class="uppercase" id="for2" size="15"></td>
    		<td><input name="Q.ta" class="uppercase" id="q2" size="2" value="0"></td>
    		<td><input name="Imp.Unitario" class="uppercase" id="iu2" size="2" value="0.00"></td>
            <td><input name="imp_2" id="imp_2" size="4" value="0.00"></td>
            </tr>

    Grazie
    Ultima modifica di condor_uk; 04-06-2014 a 11:24
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    codice:
    <!-- includo jQuery per sfruttarne il motore di selezione-->
    <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/lib...n.js"></script>
    
    <script type="text/javascript">
    $(function(){
        $('.factor').keyup(function(){
       var t=$(this).parents('tr')
            var factors=$('.factor',t);
        $('input[name^="imp_"]',t).val(Number(factors.eq(0).val())*Number(factors.eq(1).val()));
        });
    });
    </script>
    
    <!-- nota l'aggiunta della classe "factor" nell'HTML-->
    <table>
       <td>Intervento</td>
       <td>Fornitore</td>
       <td>Q.ta</td>
       <td>Unitario</td>
         <td>Totale</td>
       </tr>
     <tr>
       </tr>
     <tr>
       <td><input name="itr1" class="uppercase" id="itr1" size="40"></td>
       <td><input name="for1" class="uppercase" id="for1" size="15"></td>
       <td><input name="Q.ta" class="uppercase factor" id="q1" size="2" value="0"></td>
       <td><input name="Imp.Unitario" class="uppercase factor" id="iu1" size="2" value="0.00"></td>
       <td><input name="imp_1" id="imp_1" size="4" value="0.00"></td>
       </tr>
     <tr>
       <td><input name="itr2" class="uppercase" id="itr2" size="40"></td>
       <td><input name="for2" class="uppercase" id="for2" size="15"></td>
       <td><input name="Q.ta" class="uppercase factor" id="q2" size="2" value="0"></td>
       <td><input name="Imp.Unitario" class="uppercase factor" id="iu2" size="2" value="0.00"></td>
       <td><input name="imp_2" id="imp_2" size="4" value="0.00"></td>
       </tr>
    </table>

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Grazie di vero cuore Luca,
    senza di te non ci sarei mai arrivato
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Ciao Luca buongiorno,
    vorrei eliminare il tasto Somma dal mio modulo commessa,
    in effetti allo stato attuale l'utente valorizza tutti i campi e alla fine, prima di registrare, deve cliccare sul pulsante per fare il totale dei campi importo.

    FunzioneSomma.jpg

    Sarebbe possibile, automatizzare il conteggio, man mano che inserisce gli importi javascript effettua il totale ?

    Questo il codice :

    codice:
            <td><input name="itr14" class="uppercase"  id="itr14" size="40"></td>
            <td><input name="for14" class="uppercase" id="for14" size="15"></td>
    		<td><input name="q14" class="uppercase factor" id="q14" size="2" value="0"></td>
    		<td><input name="iu14" class="uppercase factor" id="iu14" size="2" value="0.00"></td>
            <td><input name="imp_14" id="imp_14" size="4" value="0.00"></td>
            </tr>
             <tr>
            <td><input name="itr15" class="uppercase"  id="itr15" size="40"></td>
            <td><input name="for15" class="uppercase" id="for15" size="15"></td>
    		<td><input name="q15" class="uppercase factor" id="q15" size="2" value="0"></td>
    		<td><input name="iu15" class="uppercase factor" id="iu15" size="2" value="0.00"></td>
            <td><input name="imp_15" id="imp_15" size="4" value="0.00"></td>
            </tr> 
    		
    		<!-- CALCOLO IL TOTALE CON JAVASCRIPT-->
    		
              <td></td>
    		  <td></td>
    		  <td></td>
    		  <td><input type="button" value="€" size="4" onClick="javascript:sum();"></td>
              <td><input name="totale" type="text" required="required" size="4"> </td>
    codice:
    function sum() {
    var a = parseFloat(document.all.imp_1.value);
    var b = parseFloat(document.all.imp_2.value);
    var c = parseFloat(document.all.imp_3.value);
    var d = parseFloat(document.all.imp_4.value);
    var e = parseFloat(document.all.imp_5.value);
    var f = parseFloat(document.all.imp_6.value);
    var g = parseFloat(document.all.imp_7.value);
    var h = parseFloat(document.all.imp_8.value);
    var i = parseFloat(document.all.imp_9.value);
    var l = parseFloat(document.all.imp_10.value);
    var m = parseFloat(document.all.imp_11.value);
    var n = parseFloat(document.all.imp_12.value);
    var o = parseFloat(document.all.imp_13.value);
    var p = parseFloat(document.all.imp_14.value);
    var q = parseFloat(document.all.imp_15.value);
    var r = a + b + c + d + e + f + g + h + i + l + m + n + o + p + q;
    document.all.totale.value = r;
    }
    Grazie
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  5. #5
    Potresti lanciare la funzione sum() in questa maniera:
    codice:
    <script type="text/javascript">
    $(function(){    
     $('.factor').keyup(function(){   
      var t=$(this).parents('tr')        
      var factors=$('.factor',t);    
      $('input[name^="imp_"]',t).val(Number(factors.eq(0).val())*Number(factors.eq(1).val()));
      
      sum();
    
     });
    });
    </script>
    Oppure, calcolando in maniera meno verbosa:
    codice:
    <script type="text/javascript">
    $(function(){    
     $('.factor').keyup(function(){   
      var t=$(this).parents('tr')        
      var factors=$('.factor',t);    
      $('input[name^="imp_"]',t).val(Number(factors.eq(0).val())*Number(factors.eq(1).val()));
      var total=0;
      $('input[name^="imp_"]').each(function(){
       total+=Number($(this).val());
      });
      $('input[name="totale"]').val(total);
     });
    });
    </script>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Ho optato per la seconda opzione che in maniera come sempre celere e gentilissima mi hai postato

    Grazieeeee
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.