Visualizzazione dei risultati da 1 a 3 su 3

Discussione: moltiplicazione

  1. #1
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465

    moltiplicazione

    Qualcuna sà perchè sbaglio questa moltiplicazione?
    errore di sintassi?

    Premetto sono due SELECT:
    qnt
    nazione

    se cambio valore nella select qnt
    non mi aggiorna in tempo reale il dato, ho provato a spostare .trigger('change');
    ma nulla;

    invece il campo nazione come vedete funziona bene aggiorna in tempo reale;

    però se io comunque imposto la quantità (qnt)
    e poi imposto la nazione solo dopo che ho cliccato sulla nazione aggiorna anche la qnt


    codice:
    <select name="qnt" id="qnt">
      <option label="1">4000</option>
      <option label="2">8000</option>
      <option label="3">12000</option>
    </select>
    
    
    
    LIBRO<span class="Stile1"> EURO <div id="libro"></div>
    </span>
      
    
    <select name="nazione" id="nazione">
    <option label="Italy" value="IT">100</option>
    <option label="Afghanistan" value="AF">200</option>
    <option label="Aland-Islands" value="AX">300</option>
    </select>
      
    
      
    
      Costo spedizione:
    
      <div id="ciccio"></div>
      --------------------------
      
    
      
    
      Tototale definitivo:
    
    <div id="pluto"></div>
      ------------------------
      
    
      
    
    <script>
    
        $("select[name='nazione']").change(function () {
              var str = "";
              $("select[name='nazione'] option:selected").each(function () {
                    str += $(this).text() + "";
                  });
    			  document.getElementById("ciccio").innerHTML = A;
    			  
              /*-----------------------------------------------------------*/
    		  /*----------------------------------------------------------------*/
    		  var libro = "";
    		  $("select[name='qnt'] option:selected").each(function () {
                    libro += $(this).text() + "";
                  });
    			  document.getElementById("libro").innerHTML = libro;
    			  
    		  
    	  var X;
              var Y;
              var Z;
              var A; 
              X = str
              Y = libro
               A = Y*X;
              X = X*1; Y=Y*1;
              Z = X + Y;
    		  		  
    		  document.getElementById("pluto").innerHTML = Z ;
            })
            .trigger('change');
    La moltiplicazione in questione è che il valore della spedizione(nazione)
    deve essere moltiplicato per il numero di quantità (qnt)
    allora ho inserito la variabile A

    ma non mi funziona..

  2. #2
    Utente di HTML.it L'avatar di naps
    Registrato dal
    May 2001
    Messaggi
    465
    scusate volevo sapere anche i valori numerici li interpreto
    con parseInt giusto?

    ma ad esempio io 4000 euro vorrei farli stampare a video così: 4.000,00
    e tipo 100 euro cos: 100,00
    ma poi x sommarli insieme devo scrivere una stringa particolare per mantenere
    il tipo di formato a video?


  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Sbagliato ...non si usa parseInt
    prova con il manuale jscript...
    ...
    Il metodo parseFloat restituisce un valore numerico uguale al numero specificato nell'argomento stringanum. Se non è possibile convertire correttamente nessun prefisso di stringanum in un numero a virgola mobile, verrà restituito NaN (non numerico).
    parseFloat("abc") // Restituisce NaN.
    parseFloat("1.2abc") // Restituisce 1.2.
    Per verificare la presenza del valore NaN, è possibile utilizzare il metodo isNaN.
    ....

    tu usi campi virgolati..giusto? sono di tipo valuta cioè euro ? devi stare attento alla virgola decimale che spesso fuori dai nostri confini, viene sostituita con il punto...
    poi per l'allineamento basta che cerchi e troverai molte function per convertire numeri da currency (euro) a formati di stampa stampa..io ne utilizzo alcune molto utili ; ti posto una di queste che ho trovato in internet cercando e trovando ...

    [code]
    //num = numero da formattare
    //dec = numero di decimali, predefinito = 2
    //sepm = separatore migliaia, predefinito = spazio
    //sepd = separatore decimale, predefinito = virgola
    //-------------------------------------------------
    function formatCurrency(num, dec, sepm, sepd)
    {
    if(dec == undefined || dec == "") dec = 2;
    if(sepm == undefined || sepm == "") sepm = " "; sepm = sepm.substr(0,1);
    if(sepd == undefined || sepd == "") sepd = ","; sepd = sepd.substr(0,1);

    var d = Math.pow(10,dec);

    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num)) num = "0";
    sign = (num == (num = Math.abs(num)));

    num = Math.floor(num * d + 0.50000000001);
    cents = num % d;
    num = Math.floor(num / d).toString();
    if(cents < 10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1+i))/3); i++)
    num = num.substring(0, num.length - (4 * i + 3)) + sepm + num.substring(num.length - (4 * i + 3));
    return (((sign)?'':'-') + '' + num + sepd + cents);
    }

    [code]

    in una riga di codice che ho usato per un campo imponibile
    [code]
    ...
    document.RigheOrdine.DTT4.value = formatCurrency(Imponibile, 5, ",", ".");
    ...
    [code]
    la routine non è mia, ma provala se ti va bene comunque viene da internet...

    ciao
    Vic53

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 © 2026 vBulletin Solutions, Inc. All rights reserved.