Checkbox attivate automaticamente

  • Creatore Discussione Creatore Discussione blips
  • Data di inizio Data di inizio

blips

Nuovo Utente
12 Mar 2013
29
1
3
Ciao a tutti, sono ancora qui a chiedere un vostro aiuto per ultimare finalmente il mio sito.

Avrei la necessità di attivare e disattivare automaticamente due checkbox quando ne viene attivata una principale.
Mi spiego meglio, questo è il mio form:

HTML:
<form action="updateAuc.php" method="POST" name="edit">
<div class="editbutton">
                <ul>
                 <li class="leditcnt"><input class="submitbutton" type="submit" name="edit" value="Aggiorna Trasferimenti" /></li>
                 <li class="lremove"><a href="auctionfree_list.php"><input name="Button"  type="button" class="linkbutton" value="Annulla" /></a></li>
 </ul> </div>                
<table width = "100%">
                  <tr class="title">
                        <td class="head">Player</td>
                        <td class="head">Action</td>
                        <td class="head">Win</td>
                     </tr>                     

                     <?php do { ?>    
                     <tr>
    <td class="table1"><?php echo $row_dataauc['playerName']; ?></td>
    <td class="table1"><?php echo $row_dataauc['amount']; ?> - <?php echo $row_dataauc['teambid']; ?></td>
    <td class="table1"><input name="enable[]" class="inputfield" type="checkbox" value="<?php echo $row_dataauc['aucid']?>"/>
    <input name="enable2[]" class="inputfield" type="checkbox" value="<?php echo $row_dataauc['id']?>"/>
    <input name="enable3[]" class="inputfield" type="checkbox" value="<?php echo $row_dataauc['coachID']?>"/>
    </td>
</tr>
<?php } while ($row_dataauc = mysqli_fetch_assoc($dataauc)); ?>
</table>
</form>

name="enable[]" è la principale, quando attivo quella, automaticamente devono attivarsi e, ovviamente, disattivarsi anche name="enable2[]" e name="enable3[]".

Penso che con javascript questa cosa sia possibile, ma essendo js per me materia oscura confido in un vostro aiuto.

Grazie in anticipo a chi vorrà aiutarmi.
 
Ultima modifica:
Ciao, prova questo semplice esempio
HTML:
<script>
    function check(spunta){     
        document.getElementById("check2").checked = spunta;
        document.getElementById("check3").checked = spunta;       
    } 
</script>
Check 1 <input onclick="check(this.checked)" type="checkbox" name="check1"/> 
Check 2 <input type="checkbox" id="check2" name="check2"/> 
Check 3 <input type="checkbox" id="check3" name="check3"/>
 
Codice:
<script>
$(function() {
  $("#maincheckbox").click(function () {
    if($(this).attr("checked")) {
        $(".childcheckboxes").attr('checked', true);
    } else {
        $(".childcheckboxes").attr('checked', false);
    }
});
});
</script>
<input type="checkbox" id="maincheckbox" />
<input type="checkbox" class="childcheckboxes" />
<input type="checkbox" class="childcheckboxes" />

Una cosa così?
 
Ultima modifica:
Grazie a tutti e due, ma purtroppo non funziona nel modo giusto :crying:
Le checkbox sono all'interno di un ciclo while che recupera dinamicamente i dati dal db e quindi li dispone su più righe. Ogni checkbox ha un valore diverso quando cambia la riga. Penso che il problema derivi da questo, serve probabilmente un ciclo anche nel js.

Nell'esempio di Fez Vrasta se clicco la principale nella prima riga mi attiva le due della prima riga e tutte le altre due delle righe successive.
Nell'esempio di criric invece se clicco la principale di ogni riga mi attiva sempre e solamente le due della prima riga.

Spero di essermi spiegato, se no posto un immagine.
 
Ultima modifica:
nel mio esempio devi assegnare la classe "childcheckboxes" solo a quelle che vuoi che si attivino.
 
Penso che un immagine renda meglio l'idea:

p9oBmYC.png

Questo avviene nel tuo caso, il form l'ho modificato cosi:

HTML:
<?php do { ?>    
                     <tr>
    <td class="table1"><?php echo $row_dataauc['playerName']; ?></td>
    <td class="table1"><?php echo $row_dataauc['amount']; ?> - <?php echo $row_dataauc['teambid']; ?></td>
    <td class="table1"><input name="enable[]" class="inputfield" type="checkbox" id="maincheckbox" value="<?php echo $row_dataauc['aucid']?>"/>
    <input name="enable2[]" class="inputfield" type="checkbox" class="childcheckboxes" value="<?php echo $row_dataauc['id']?>"/>
    <input name="enable3[]" class="inputfield" type="checkbox" class="childcheckboxes" value="<?php echo $row_dataauc['coachID']?>"/>
    </td>
</tr>
<?php } while ($row_dataauc = mysqli_fetch_assoc($dataauc)); ?>
 
1. Perché usi "do" invece che direttamente "while"?
2. Passami l'HTML e non il PHP, così vedo di risolvere.
 
Uso il do perchè utilizzo DW e lo imposta cosi in automatico.
In che senso l'html invece che il php? E' una pagina unica, questo è tutto l'html:

HTML:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Master</title>
<link href="../css/menu.css" rel="stylesheet" type="text/css" />
<link href="../css/stile.css" rel="stylesheet" type="text/css" />
<link href="../css/reset.css" rel="stylesheet" type="text/css" />
<link href="../css/table.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../js/countdownpro.js" defer="defer"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
	  google.load("jquery", "1");
	</script>
<script>
$(function() {
  $("#maincheckbox").click(function () {
    if($(this).attr("checked")) {
        $(".childcheckboxes").attr('checked', true);
    } else {
        $(".childcheckboxes").attr('checked', false);
    }
});
});
</script>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<style type="text/css">
body {background: url(../images/BG.png) no-repeat scroll 50% 10px #000000;}
</style>
</head>
<body>
<div id="wrapper" class="newHeader">
  <div id="doc">
    <div id="header"><a id="logo" href="../index.php">master</a>    
<div id="navigation">
<div id="h_tagline">CPANEL</div>
<a id="back_home" href="../index.php">< Vai al Sito</a>
  </div></div>
<div id="simpleHeaderImgBanner">
  <div class="inner clearfix"></div>
</div>
      <div id="main">
        <div class="newDash" id="bodyDetails">
          <div class="bodyContent" id="bodyDash">
          <div class="inner">
            <div id="sidebar">
              <div class="clear"></div>
            <h2>Menu Admin</h2>
            <div class="clear"></div>
            <ul class="tools">
            <?php include("../includes/admin_menu.php"); ?>
            </ul>            
            </div>           
            <div id="dashContent">
              <div class="dash_content_section">
                 <h3 class="active">gestisci <?php echo $row_auctitle['fauctionName']; ?></h3>
                 <fieldset id="filter-bar">
                 <form action="updateAuc.php" method="POST" name="edit">   
              <div class="editbutton">
                <ul>
                 <li class="leditcnt"><input class="submitbutton" type="submit" name="edit" value="Aggiorna Trasferimenti" /></li>
                 <li class="lremove"><a href="auctionfree_list.php"><input name="Button"  type="button" class="linkbutton" value="Annulla" /></a></li>
 </ul> </div>                
                    <table width = "100%">
                 <tr class="title">
                        <td class="head">Player</td>
                        <td class="head">Action</td>
                        <td class="head">Win</td>
                     </tr>       
                 <?php do { ?>    
                     <tr>
    <td class="table1"><?php echo $row_dataauc['playerName']; ?></td>
    <td class="table1"><?php echo $row_dataauc['amount']; ?> - <?php echo $row_dataauc['teambid']; ?></td>
    <td class="table1"><input name="enable[]" class="inputfield" type="checkbox" id="maincheckbox" value="<?php echo $row_dataauc['aucid']?>"/>
    <input name="enable2[]" class="inputfield" type="checkbox" class="childcheckboxes" value="<?php echo $row_dataauc['id']?>"/>
    <input name="enable3[]" class="inputfield" type="checkbox" class="childcheckboxes" value="<?php echo $row_dataauc['coachID']?>"/>
    </td>
</tr>
<?php } while ($row_dataauc = mysqli_fetch_assoc($dataauc)); ?>
                   </table>                    
                  </form>              
                 </fieldset>                 
              </div>
            </div>
              <div class="clear"></div>
            </div>
          </div>
        </div> 
        <div class="clear"></div>
    </div> 
    <div class="wrapperFooter">      
        <div class="footer">
        <?php include("../includes/footer_admin.php"); ?>
        </div>
        <div class="copyright"><?php include("../includes/copyright.php"); ?></div>
        </div>         
</div>
</div>
</body>
</html>
<?php
mysql_free_result($Recordset1);
mysql_free_result($dataauc);
mysql_free_result($auctitle);
?>
 

Discussioni simili