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

    script per select con checkbox

    ciao a tutti.
    Vengo subito al mio problema:
    io ho una select con uaserie di opzioni e una serie di checkbox.
    Tali checkbox dovrebbero essere abilitati esclusivamente quando sulla prima elect viene selezionata una delle voci (nella fattispecie multipiattaforma). Sapete se ciò può essere fatto con uno script javascript ke automaticamente abiliti o dasabiliti i checkbox alla selezione della select?
    Se si qualcuno sa abbozzarmene uno? Graaaaazie! Ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    Ti posso dire che e' possibile.

    Check l' onselect, chiami la funzione per controllare (check) il valore e se il valore e' corretto, cioe' corrisponde a quello che tu hai deciso, puoi abilitare o disabilitare i checkbox sulla base di quel risultato.

  3. #3
    Grazie più o meno ho capito!
    ma mi resta un dubbio..da javascript cm faccio a disabilitare il checkbox?
    Sai dirmelo?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Copia, incolla e modifica secondo le tue esigenze

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    
    <style>
    .os_setcb {
        display: none;
    }
    </style>
    
    <script>
    function hideByStartId(els, c) {
        var e = document.getElementsByTagName(els)
        for (var i=0; i<e.length; i++)
            if (c.test(e[i].id)) e[i].style.display = 'none';
    }
    
    function $id(id) {
        return (document.getElementById)? document.getElementById(id) : document.all[id];
    }
    
    function displayCheckbox(s) {
        var id = s.id;
        var value = s.value;
        var startid = ['^', id , '_'].join('');
        var startid_re = new RegExp (startid, 'gi');
        hideByStartId('div', startid_re)
        
        if (value != '') {
            id_cbgroup = [id, '_', value].join('');
            if ($id(id_cbgroup)) {
                $id(id_cbgroup).style.display = 'block';
            } 
        }
        
        
    }
    
    </script>
    </head>
    
    <body>
        <form>
            <fieldset>
            <select name="os" id="os" onchange="displayCheckbox(this)">
                <option value="">Nessuna scelta</option>
                <option value="linux">linux</option>
                <option value="windows">windows</option>
            </select>  
            
            
            <div id="os_linux" class="os_setcb">
                <input type="checkbox" name="distro" value="debian" />Debian
                <input type="checkbox" name="distro" value="ubuntu" />Ubuntu
                <input type="checkbox" name="distro" value="Suse" />Suse
            </div>
            <div id="os_windows" class="os_setcb">
                <input type="checkbox" name="ver" value="2000" />2000
                <input type="checkbox" name="ver" value="XP" />XP
                <input type="checkbox" name="ver" value="Vista" />Vista
            </div>
            
            </fieldset>
        </form>
    </body>
    </html>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.