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

    checkbox che se cliccata ne attiva altre

    Ciao, mi date un consiglio su come impostare uno script come in oggetto?!
    In pratica dal momento che clicco su una checkbox (e che quindi la checko) altre checkbox devono attivarsi (di default sono disabilitate); invece quando deseleziono, le altre devono deselezionarsi e di nuovo disabilitarsi.

    Come dovrei fare?!

  2. #2
    Integro la domanda:
    Le checkbox che devono attivarsi, hanno il nome che inizia con il nome della checkbox che attiva.
    Cioè:
    checkbox principale: xxx
    checkbox secondarie: xxx_1, xxx_2, xxx_3 etc.

    Come faccio al clic sulla principale ad attivare le altre, controllando in una funziona JS il name?!

  3. #3
    UPPETTO
    Nobody?!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: checkbox che se cliccata ne attiva altre

    Originariamente inviato da cemsal
    Ciao, mi date un consiglio su come impostare uno script come in oggetto?!
    In pratica dal momento che clicco su una checkbox (e che quindi la checko) altre checkbox devono attivarsi (di default sono disabilitate); invece quando deseleziono, le altre devono deselezionarsi e di nuovo disabilitarsi.

    Come dovrei fare?!
    Cosi potrebbe andare?
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <script language="javascript">
    function checkall(){
    if(document.form1.checkbox_1.checked){
    document.form1.checkbox_2.disabled = false;
    document.form1.checkbox_3.disabled = false;
    document.form1.checkbox_4.disabled = false;
    }else{
    document.form1.checkbox_2.disabled = true;
    document.form1.checkbox_3.disabled = true;
    document.form1.checkbox_4.disabled = true;
    }
    }
    
    </script>
    </head>
    
    <body>
    <form name="form1" method="post" action="">
      
    
    
        <input name="checkbox_1" type="checkbox" id="checkbox_1" value="true" onClick="checkall();"> 
        abilita checkbox
    </p>
      
    
    
        <input name="checkbox_2" type="checkbox" id="checkbox_2" value="tuo_valore_2" disabled>
    </p>
      
    
    
        <input name="checkbox_3" type="checkbox" id="checkbox_3" value="tuo_valore_3" disabled>
    </p>
      
    
    
        <input name="checkbox_4" type="checkbox" id="checkbox_4" value="tuo_valore_4" disabled>
    </p>
    </form>
    </body>
    </html>
    L'esempio postato funziona solo se le checkebox non sono create dinamicamente.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Grazie Andrea della tua risposta... il problema è che è tutto creato dinamicamente con PHP...
    Qundi io non conosco il numero e il nome dei campi...

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da cemsal
    Grazie Andrea della tua risposta... il problema è che è tutto creato dinamicamente con PHP...
    Qundi io non conosco il numero e il nome dei campi...
    cosi funziona anche dinamicamente (credo)
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <script language="javascript">
    function CheckAll() {
    	for (var i=0;i<document.form1.elements.length;i++) {
    		var e = document.form1.elements[i];
    		var stato = (document.form1.xxx.checked)? false : true;
    		if(e.name != "xxx"){
    		e.disabled = stato;
    		}
    		}
    	}
    
    </script>
    </head>
    
    <body>
    <form name="form1" method="post" action="">
      
    
    
        <input name="xxx" type="checkbox" id="xxx" value="true" onClick="CheckAll();"> 
        abilita checkbox
    </p>  
    
    
        <input name="xxx_1" type="checkbox" id="xxx_1" value="tuo_valore_1" disabled>
    </p>
      
    
    
        <input name="xxx_2" type="checkbox" id="xxx_2" value="tuo_valore_2" disabled>
    </p>
      
    
    
        <input name="xxx_3" type="checkbox" id="xxx_3" value="tuo_valore_3" disabled>
    </p>
      
    
    
        <input name="xxx_4" type="checkbox" id="xxx_4" value="tuo_valore_4" disabled>
    </p>
    </form>
    </body>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Ciao e grazie Andrea, guarda come ho risolto:
    codice:
    function ctrl_check(a,b) {
    	if (a.checked==false) {
    		var e=document.condivisione_dati.elements;
    		for (var i=0; i<e.length; i++)
    		if (e[i].type=="checkbox" && e[i].name==b) {
    			e[i].checked=false;
    			e[i].disabled=true;
    		}
    	} else {
    		var e=document.condivisione_dati.elements;
    		for (var i=0; i<e.length; i++)
    		if (e[i].type=="checkbox" && e[i].name==b) {
    			e[i].checked=false;
    			e[i].disabled=false;
    		}
    	}
    }
    questo è il checkbox principale
    <input name="ca<?=$rows2[id];?>" type="checkbox" value="<?=$rows2[id];?>" onclick="ctrl_check(this,'cn<?=$rows2[id];?>');"<? if ($ok_az) echo " checked"; ?> />

    questi sotto i checkbox secondari creati dinamicamente con PHP grazie ad un ciclo
    <input name="cn<?=$rows2[id];?>" type="checkbox" value="<?=$rows2[id];?><?=$chiave;?>" onclick="if (this.checked==true && document.condivisione_dati.ca<?=$rows2[id];?>.checked==false) { document.condivisione_dati.ca<?=$rows2[id];?>.checked=true; }" />

    In questo modo funziona tutto:
    il clic sui secondi input abilita il primo automaticamente; la disattivazione del primo innesca la disattivazione e deselezione degli altri.

    CIAO!

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.