Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    ottenere somme con checkbox

    ciao a tutti, ho letto varie discussioni su come ottenere somme mettendo un flag su una serie di checkbok, ma tutti si riferiscono ad una colonna sola di valori numerici.

    io da un'estrazione db ottengo un risultato simile a questo:

    nome1- 2 3 4 5
    nome2- 6 7 8 9
    nome3- 1 1 1 1

    ecc ecc.

    per ogni riga metto un checkbox e selezionandone più di uno alla base dovrei ottenere le somme per colonna tipo selezionando nome1 e nome 3 dovrei ottenere:


    nome1- 2 3 4 5
    nome2- 6 7 8 9
    nome3- 1 1 1 1

    tot 3 4 5 6

    qualcuno mi sa aiutare con uno script? io non sono in grado di crearlo.

    Grazie!!!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    perchè non metti la stessa checkbox per 'colonna' piuttosto che per riga, così puoi sommare come sai fare normalmente?

  3. #3
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    Originariamente inviato da longilineo
    perchè non metti la stessa checkbox per 'colonna' piuttosto che per riga, così puoi sommare come sai fare normalmente?
    perchè ho la necessità di prendere righe diverse.
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    ma il fatto che siano messe in righe diverse esteticamente non vuol dire che sono checkbox diverse

    esempio

    <input type='checkbox' name='tipo1' value= 5 /> <input type='checkbox' name='tipo2' value= 4 />
    <input type='checkbox' name='tipo1' value= 2 /> <input type='checkbox' name='tipo2' value= 1 />

  5. #5
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    allora non capisco cosa intendi ...

    io ho un numero limitato di colonne (10) e un numero infinito di righe.

    non tutte le righe devono essere sommate ...
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Dai ciclicamente per riga a ogni checkbox una classe che indichi la colonna, cioè riga 1 classi col0, col1

    es.
    <input type='checkbox' class='col0' value= 5 /> <input type='checkbox' class='col1' value= 4 />
    <input type='checkbox' class='col0' value= 2 /> <input type='checkbox' class='col1' value= 1 />

    con jquery ti scorri gli elementi per classe

    Codice PHP:
    var sommacol0 0;
    $(
    ".col0 :checked").each(
        function(){
            
    sommacol0 += $(this).attr("value");
        }

    sapendo quante sono le colonne al posto di scrivere a mano il codice per ogni colonna potresti utilizzare 1 array che contiene le somme e scorrere con un ciclo le colonne, tu hai detto che le colonne sono 10 quindi dovresti fare una cosa del tipo

    Codice PHP:

    var numcols 10;
    sommacols = new Array();
    for(var 
    0numcolsi++){
        
    sommacols[i]=0;
        $(
    ".col"+i+" :checked").each(
            function(){
                
    sommacols[i] += $(this).attr("value");
            }
        )


  7. #7
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    ciao, forse ho fatto male l'esempio sopra.

    Non devo mettere un checkbok per ogni risultato dei record.

    devo mettere un checkbox che mi conteggia tutti i nuleri di quella riga, suddivisi per colonna e sotto avere le somme totali divise per colonne delle righe flaggate.
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non ho capito bene cosa vuoi fare, posta il codice html e spiegami di preciso che dovrebbe fare

  9. #9
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    Originariamente inviato da longilineo
    non ho capito bene cosa vuoi fare, posta il codice html e spiegami di preciso che dovrebbe fare



    ok, questo è il risultato visivo di quello che dovrei ottenere:

    in base ai flag metto in somma i valori presenti nelle colonne della riga flaggata e sotto ottengo la somma.


    codice:
    <Table>
    <tr>
    <td>
    <input type='checkbox' name='riga1'  />
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    </tr>
    
    
    <tr>
    <td>
    <input type='checkbox' name='riga2'  checked="true"/>
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    </tr>
    
    
    
    <tr>
    <td>
    <input type='checkbox' name='riga3'  checked="true"/>
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    </tr>
    
    
    
    
    
    <tr>
    <td>
    <input type='checkbox' name='riga4' checked="true"/>
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    </tr>
    
    
    
    
    
    <tr>
    <td>
    <input type='checkbox' name='riga5'  checked="true" />
    </td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    <td>1</td>
    </tr>
    
    
    <tr>
    <td>
    TOTALE
    </td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    <td>4</td>
    </tr>
    
    
    </table>
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    con jquery

    Codice PHP:

    <html>
        <
    head>
            <
    script type='text/javascript' src='jq.js'></script>
            <script type='text/javascript' src='jqui.js'></script>
            <script type='text/javascript'>
                $(document).ready(
                    function(){
                        $("input[type=checkbox]").click(
                            function(){
                                var conta = 0;
                                $("tr:last td:not(:first)").each(
                                    function(){
                                        conta++;
                                        var somma=0;
                                        $("tr:not(:last)").each(
                                            function(){
                                                if($(this).children().children().first().is(":checked")){
                                                    somma += parseInt($(this).children(':eq('+conta+')').attr("innerHTML"));
                                                }
                                            }
                                        )
                                        $(this).attr("innerHTML", somma);
                                    }
                                )
                            }
                        )
                    }
                )
            </script>
        </head>
        <body>
            <Table>
                <tr>
                    <td>
                    <input type='checkbox' name='riga1'  />
                    </td>
                    <td>1</td>
                    <td>2</td>
                    <td>1</td>
                    <td>4</td>
                    <td>1</td>
                    <td>8</td>
                    <td>1</td>
                    <td>9</td>
                    <td>-1</td>
                    <td>12</td>
                </tr>
                
                
                <tr>
                    <td>
                    <input type='checkbox' name='riga2'/>
                    </td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                </tr>
                
                
                
                <tr>
                    <td>
                    <input type='checkbox' name='riga3'/>
                    </td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                </tr>
                
                
                
                
                
                <tr>
                    <td>
                    <input type='checkbox' name='riga4'/>
                    </td>
                    <td>1</td>
                    <td>1</td>
                    <td>13</td>
                    <td>1</td>
                    <td>1</td>
                    <td>5</td>
                    <td>1</td>
                    <td>1</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                
                
                
                
                
                <tr>
                    <td>
                    <input type='checkbox' name='riga5'/>
                    </td>
                    <td>1</td>
                    <td>1</td>
                    <td>8</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>1</td>
                    <td>0</td>
                    <td>1</td>
                    <td>0</td>
                </tr>
                
                
                <tr class='risultato'>
                    <td>
                    TOTALE
                    </td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                    <td>0</td>
                </tr>
                
            
            </table>

        </body>
    </html> 
    la somma viene fatta al click su una delle checkbox, quindi funziona se all'inizio nessuna checkbox è flaggata, tuttavia guardando il codice troverai facilemente la soluzione anche a questo

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.