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

    option select non selezionabile

    Ciao,
    devo creare una select in cui alcuni valori non sono selezionabili in modo da creare un menù gerarchico.
    Es:
    -Asia-
    Cina
    Giappone
    -America Latina-
    Argentina
    Brasile

    dove Asia e America Latina nel menù non sono selezionabili.

    Avevo pensato che esistesse un tag label, ma non funziona... come devo fare?
    Un giorno senza sorridere è un giorno perso...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    grazie purtroppo facendo la ricerca a volte non trovo alcuni topic... forse uso parole sbagliate!
    Un giorno senza sorridere è un giorno perso...

  4. #4
    br1 ha ragione...dovrebbe bastare l'uso di optgroup.
    In alternativa puoi usare JavaScript assegnando dei value vuoti alle option non selezionabili e quindi controllare questo valore all'onchange tramite una funzione. La funzione può mostrare una finestra di alert per avvertire l'utente che quella selezionata non è un'opzione valida, oppure può impostare automaticamente come selezionata la option successiva a quella "non valida". Un'altra alternativa, ma decisamente più complessa, è creare due menu a tendina in cui il secondo contiene le sottovoci ed è dipendente dalla option selezionata nel primo.

    Un es. della funzione che imposta automaticamente come selezionata l'opzione successiva a quella di una voce non selezionabile è il seguente:


    codice:
    <head>
    <script type="text/javascript">
    function seleziona(id) {
    var selezionato = document.getElementById(id).options.selectedIndex;
    if (document.getElementById(id).options[selezionato].value=="") document.getElementById(id).options.selectedIndex = selezionato + 1;
    }
    </script>
    </head>
    <body>
    
    ............
    
    <select id="nazioni" name="nazioni" size="1" onchange="seleziona(this.id);">
    <option value="">-Asia-</option>
    <option value="Cina">Cina</option>
    <option value="Giappone">Giappone</option>
    .......
    </select>
    Con questo codice, se selezioni "-Asia-", viene impostata automaticamente come selezionata "Cina". Sicuramente non è proprio il massimo...sarebbe a mio avviso migliore la soluzione con due menu a tendina dipendenti, ma per farli devi usare AJAX (non sono molto pratico di AJAX anche se è a tutti gli effetti JavaScript) o un linguaggio server side come PHP, ASP o JSP. Sicuramente, l'uso di optgroup è consigliato

  5. #5
    no ho applicato subito optgroup e funziona a mersaviglia... ci avevo azzeccato cn le label!!! però nn sapevo la sintassi corretta!
    Un giorno senza sorridere è un giorno perso...

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.