Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Somma di diverse select box

    Salve a tutti,

    ho cercato sul forum qualcosa che potesse venire incontro alla mia richiesta ma anche mettendo insieme i vari pezzi trovati non sono riuscito ad uscirne. :master:

    Ho un sondaggio in cui l'utente deve dare un voto ad ogni voce per un totale di 8 voci, quindi 8 voti.
    I voti sono listati dentro delle select box:

    <select name="vote1" onchange="funzione()">
    <option value="" selected="Select a">Vote</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>

    <select name="vote2" onchange="funzione()">
    <option value="" selected="Select a">Vote</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="7">6</option>
    <option value="8">7</option>
    <option value="9">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>
    ...
    <input name="risultato" type="text" size="5" maxlength="5" disabled value="qui dovrebbe comparire la somma!">


    Avete idea di come posso creare la funziona in modo da sommare i valori scelti dall'utente e visualizzarle in una textbox?

    Grazie tante in anticipo,
    Jotto

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    function funzione()
    {
        var risultato = 0;
        for(var i = 1; i <= 2; i++)
        {
            var v = document.getElementById("vote" + i).value;
            risultato += parseInt(v, 10);
        }
        if(!isNaN(risultato))
            document.getElementById("risultato").value = risultato;
        else
            document.getElementById("risultato").value = "Completa la votazione";
    }
    
    
    // ]]>
        </script>
    </head>
    <body>
        <select id="vote1" onchange="funzione();">
            <option value="" selected="selected">Vote</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
        </select>
        <select id="vote2" onchange="funzione();">
            <option value="" selected="selected">Vote</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
        </select>
        
        <input id="risultato" type="text" size="5" maxlength="5" disabled="disabled" value="qui dovrebbe comparire la somma!"/>
    </body>
    </html>
    Pietro

  3. #3
    Ciao Pietro,

    grazie per la risposta.
    Ho implementato il tuo script ma sulla casella risultato visualizzo sempre la scritta "Completa la votazione".

    Ho letto lo script e penso che manchi un controllo che specifiche di "tirare le somme" appena l'ottava select e' stata utilizzata... giusto?

    Grazie ancora.
    Jotto

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: potrei anche aver fatto degli errori ma ricordo di averlo provato e che funzionava.
    Per come è strutturato, tutte le select sono messe alla prima opzione vote. La funzione per il calcolo totale parte quando si modifica una votazione. Per avere un risultato, si debbono fare tutte le votazioni. Se non si vuole questo, la prima option di ogni select deve avere un value=0
    Pietro

  5. #5
    ok lo provero' cosi', mal che vada il calcolo finale lo faccio fare al modulo in ricezione.
    Grazie, Ciao.
    Jotto

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.