Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Sommare la quantità scelta

    Salve,
    ho un menù a discesa dove si dovrebbe indicare la quantità (da 1 a 10 es) di un prodotto che costa (esempio) € 10,00 cad.
    Ho un totale di altri servizi e vorrei sommarci la quantità di quest'ultimi prodotti.
    Esempio:
    Ho un totale di € 100,00
    l'utente seleziona successivamente 8 prodotti a 10 euro, pertanto il totale sarebbe € 180,00
    Come posso fare questa operazione?
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Salve,
    utilizzando questo script:
    codice:
    <script language="javascript" type="text/javascript">
             window.onkeypress = setInterval('changeTotale()',100);
             function changeTotale(){       
             var tita = document.getElementById('numero_supplemento').value;       
             var ris = tita.split("|")[1]; 
             var num = parseFloat(ris)+parseFloat(document.getElementById('prezzos').value);
             var importo = "€ " + num.toFixed(2);   
             var importos = importo.replace('.',','); 
             document.getElementById('risultato').innerHTML = importos;
             }
    </script>
    le select fanno parte di un ciclo, quindi possono essere più di una, non so come faccio a sommare le eventuali select tra di loro, ecco la select:
    codice:
    <select name="numero_supplemento" id="numero_supplemento" onchange="changeTotale()" size="1">
                                                    <option value="00|00" selected>00</option>
                                                    <option value="01|10" >01</option>
                                                    <option value="02|20">02</option>
                                                    <option value="03|25" >03</option>
                                                    <option value="04|55" >04</option>
                                                    <option value="05|77" >05</option>
                                                    <option value="06|22" >06</option>
                                                    <option value="07|99>" >07</option>
                                                    <option value="08|33" >08</option>
                                                    <option value="09|66" >09</option>
                                                    <option value="10|88" >10</option>
                                                    </select>
    Potete aiutarmi?
    Grazie
    G.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Nessun aiuto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    devi effettuare un ciclo nella funzione changeTotale, come riferimento alle select potresti usare l' id se è incrementale(l'id deve essere univoco) oppure una classe

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Grazie Vindav per la risposta ho provato ad inserire nel ciclo anche lo javascript in questo modo:
    codice:
    <script language="javascript" type="text/javascript">
             window.onkeypress = setInterval('changeTotale()',100);
             function changeTotale<%=rsC.fields("id")%>(){       
             var tita = document.getElementById('numero_supplemento<%=rsC.fields("id")%>').value;       
                var ris = tita.split("|")[1]; 
             var num = parseFloat(ris)+parseFloat(document.getElementById('prezzos').value);
             var importo = "€ " + num.toFixed(2);   
             var importos = importo.replace('.',','); 
             document.getElementById('risultato').innerHTML = importos;
             document.getElementById('risultatob').value = num;
             }
    </script>
    
    
    <select name="numero_supplemento" id="numero_supplemento<%=rsC.fields("id")%>" onchange="changeTotale<%=rsC.fields("id")%>()" size="1">
                                                    <option value="00|00" selected>00</option>
                                                    <option value="01|10" >01</option>
                                                    <option value="02|20">02</option>
                                                    <option value="03|25" >03</option>
                                                    <option value="04|55" >04</option>
                                                    <option value="05|77" >05</option>
                                                    <option value="06|22" >06</option>
                                                    <option value="07|99>" >07</option>
                                                    <option value="08|33" >08</option>
                                                    <option value="09|66" >09</option>
                                                    <option value="10|88" >10</option>
                                                    </select>
    Mi cambia il totale, selezionando i select, ma non mi somma per esempio il primo select con il secondo etc inoltre non ho potuto utilizzare
    la variabile window.onkeypress = setInterval('changeTotale()',100);
    anche inserendoci l'id univoco.
    Puoi aiutarmi? Puoi farmi un esempio su come risolverlo, grazie
    G.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Mi sa che hai frainteso il mio suggerimento, ti faccio un esempio banalissimo, supponiamo di avere 3 select come le seguenti:

    codice:
    <select name="supplemento" onchange="somma()">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    
    
    <select name="supplemento" onchange="somma()">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    
    
    <select name="supplemento" onchange="somma()">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    La parte js per la funzione somma sarà cosi:

    codice:
    function somma(){
        var somma = 0;
        var listSelect = document.getElementsByName("supplemento");
    	for(var i=0; i<listSelect.length; i++){
            curSelect = listSelect[i];
        	somma += Number(curSelect.options[curSelect.selectedIndex].value);
        }
        
        alert(somma);
    }
    Vedrai a schermo la somma delle 3 valori selezionati nelle rispettive select. Come riferimento alle select ho usato l'attributo name(puoi usare anche l'attributo class, cambia nulla, mentre con l'id è più complesso )

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.