Visualizzazione dei risultati da 1 a 6 su 6

Discussione: tabella check

  1. #1

    tabella check

    come fare per creare una cosa del genere:


    ovviamente cliccando sui check a sfondo grigio deve ceccare o dececcare tutta la riga o la colonna!!!

    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Questo dimostra il mio impegno ma non riesco ad andare avanti:

    <script>
    function checkAllrigo1(field) {
    if (document.consform.rigo1cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    function checkAllrigo2(field) {
    if (document.consform.rigo2cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    function checkAllrigo3(field) {
    if (document.consform.rigo3cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    </script>
    <form name="consform" method="post" action="#">
    <table width="200" border="1">
    <tr bgcolor="#999999">
    <td align="center"></td>
    <td align="center"></td>
    <td align="center"></td>
    <td align="center"></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo1cbh" value="cbh" onclick="checkAllrigo1(document.consform.rigo1);" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="3" /></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo2cbh" value="cbh" onclick="checkAllrigo2(document.consform.rigo2);" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="3" /></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo3cbh" value="cbh" onclick="checkAllrigo3(document.consform.rigo3);" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="3" /></td>
    </tr>
    </table>
    </form>

    Tutto funziona per le righe ma non ho idea di come andare avanti sulle colonne!!!
    Prima o poi anch'io vi insegnerò qualcosa

  3. #3
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Per le colonne ti consiglio di andare a giocare sul value...

  4. #4
    Penso di avercela fatta, ovviamente funziona su 3 colonne ma è personalizzabile su quante uno ne vuole. Intanto posto quel che ho fatto, poi vedo se posso semplificarlo.



    <script>
    function checkAllrigo1(field) {
    if (document.consform.rigo1cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    function checkAllrigo2(field) {
    if (document.consform.rigo2cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    function checkAllrigo3(field) {
    if (document.consform.rigo3cbh.checked==true) {
    for (i = 0; i < field.length; i++) {
    field[i].checked = true ;
    }
    } else {
    for (i = 0; i < field.length; i++){
    field[i].checked = false ;
    }
    }
    }
    function checkAllcolonna1(field) {
    if (document.consform.colonna1cbh.checked==true) {
    field[0].checked = true ;
    } else {
    field[0].checked = false ;
    }
    }
    function checkAllcolonna2(field) {
    if (document.consform.colonna2cbh.checked==true) {
    field[1].checked = true ;
    } else {
    field[1].checked = false ;
    }
    }
    function checkAllcolonna3(field) {
    if (document.consform.colonna3cbh.checked==true) {
    field[2].checked = true ;
    } else {
    field[2].checked = false ;
    }
    }
    </script>
    <form name="consform" method="post" action="#">
    <table width="200" border="1">
    <tr bgcolor="#999999">
    <td align="center"></td>
    <td align="center"><input type="checkbox" name="colonna1cbh" value="cbh" onclick="checkAllcolonna1(document.consform.rigo1) ; checkAllcolonna1(document.consform.rigo2); checkAllcolonna1(document.consform.rigo3);" /></td>
    <td align="center"><input type="checkbox" name="colonna2cbh" value="cbh" onclick="checkAllcolonna2(document.consform.rigo1) ; checkAllcolonna2(document.consform.rigo2); checkAllcolonna2(document.consform.rigo3);" /></td>
    <td align="center"><input type="checkbox" name="colonna3cbh" value="cbh" onclick="checkAllcolonna3(document.consform.rigo1) ; checkAllcolonna3(document.consform.rigo2); checkAllcolonna3(document.consform.rigo3);" /></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo1cbh" value="cbh" onclick="checkAllrigo1(document.consform.rigo1);" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo1" value="3" /></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo2cbh" value="cbh" onclick="checkAllrigo2(document.consform.rigo2);" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo2" value="3" /></td>
    </tr>
    <tr>
    <td align="center" bgcolor="#999999"><input type="checkbox" name="rigo3cbh" value="cbh" onclick="checkAllrigo3(document.consform.rigo3);" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="1" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="2" /></td>
    <td align="center"><input type="checkbox" name="rigo3" value="3" /></td>
    </tr>
    </table>
    Prima o poi anch'io vi insegnerò qualcosa

  5. #5
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Perché non fai la funzione checkAllRigo e checkAllColonna con il numero della riga/colonna via parametro così da avere una funzione per le n righe ed una funzione per le m colonne anziché n + m funzioni??

  6. #6
    perchè sono un neofita, ecco perchè.

    Comunque in php l'ho trasformato così:

    <?php
    $n_righe = 10;
    $n_colonne = 6;
    echo'<script>';
    for ($k = 1; $k < ($n_righe + 1); $k++)
    {
    echo'function checkAllrigo' . $k . '(field) {';
    echo'if (document.consform.rigo' . $k . 'cbh.checked==true) {';
    echo'for (i = 0; i < field.length; i++) {';
    echo'field[i].checked = true ;';
    echo'}';
    echo'} else {';
    echo'for (i = 0; i < field.length; i++){';
    echo'field[i].checked = false ;';
    echo'}';
    echo'}';
    echo'}';
    }
    for ($b = 1; $b < ($n_colonne + 1); $b++)
    {
    echo'function checkAllcolonna' . $b . '(field) {';
    echo'if (document.consform.colonna' . $b . 'cbh.checked==true) {';
    echo'field[' . ($b - 1) . '].checked = true ;';
    echo'} else {';
    echo'field[' . ($b - 1) . '].checked = false ;';
    echo'}';
    echo'}';
    }
    echo'</script>';
    ?>
    <form name="consform" method="post" action="#">
    <table width="200" border="1">
    <tr bgcolor="#999999">
    <td align="center"></td>
    <?php
    for ($b = 1; $b < ($n_colonne + 1); $b++)
    {
    echo '<td align="center"><input type="checkbox" name="colonna' . $b . 'cbh" value="cbh" onclick="';
    for ($k = 1; $k < ($n_righe + 1); $k++)
    echo 'checkAllcolonna' . $b . '(document.consform.rigo' . $k . '); ';
    echo '" /></td>';
    }
    ?>
    </tr>
    <?php
    for ($k = 1; $k < ($n_righe + 1); $k++)
    {
    echo '<tr>';
    echo ' <td align="center" bgcolor="#999999">';
    echo ' <input type="checkbox" name="rigo' . $k . 'cbh" value="cbh" onclick="checkAllrigo' . $k . '(document.consform.rigo' . $k . ');" />';
    echo ' </td>';
    for ($b = 1; $b < ($n_colonne + 1); $b++)
    echo ' <td align="center"><input type="checkbox" name="rigo' . $k . '" value="' . $b . '" /></td>';
    echo '</tr>';
    }
    ?>
    </table>
    </form>

    In questo modo si creano tante righ e colonne in maniera molto semplice, cambiando n_righe e n_colonne.
    Prima o poi anch'io vi insegnerò qualcosa

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.