Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    4

    comando select annidati

    Buonasera a tutti sono nuova e da qualche settimana sto sperimentando l'html ma oggi ho avuto un problema che mi ha fatto perdere un intero pomeriggio ( con scarsi risultati ) chiedo a chi è piu' pratico:

    vorrei fare cio' allora ho una select che in base a cio' che l'utente seleziona deve rendere visibile un'altra select e il risultato di questa select attivare una nuova pagina html,le due cose che non so fare è capire l'utente quale sringa ha evidenziato e come si fa in base alla stringa selezionata a rendere visibile una nuova select annidata.
    Dato che mi sono spiegata come un libro strappato faccio un esempio scemo supponiamo che in una select l'utente puo' scegliere tutte le lettere dell'alfabeto ad esampio a,b,c.....,z ed a seconda della lettera scelta compare la select (che era nascosta tipo novisible) che contiene tutte le parole che cominciano per la lettere selezionata dall'utente,in questa nuova select l'utente sceglie l'apposita parola e la parola scelta diviene titolo in una nuova pagina con l'apposita definizione .In visual basic mi risulta facile ma qui no!!!

    Rispondete per favore!!

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Be al posto di una select te la puoi cavare meglio con una serie di link a discesa, un po' come se fosse un menù, dico questo solo perché far comparire o scomparire un elemento non è certo difficile ma essendo tu alle prime armi... No!
    A pensarci bene tra tutti e due non so quale approccio sia più semplice, quindi provo a risponderti così come piace a te (Incipit peggiore della tua domanda )
    Ebbene, la prima cosa da fare è creare la prima select:
    codice:
    <select id="alfabeto" onchange="">
    <option value="a">A</option>
    <option value="b">B</option>
    ... omissis :D ....
    </select>
    nota l'evento onchange e l'IDentificatore.
    Ora la seconda select che avrà un suo evento onchange ma anche uno style impostato su display:none (invisibile)
    codice:
    <select style="display: none" id="a" onchange="farà qualcosa">
    <option value="abaco">Abaco</option>
    <option value="abecedario">Abecedario</option>
    ... omissis :D ....
    </select>
    Ora il javascript senza il quale non faremmo nulla
    codice:
    <script type="text/javascript" language="javascript">
                    // Definisce un elemento ID all'interno dell'intero documento
    		function getEl(id) {
       			element = document.getElementById(id);
    		return element;
    		}
    
    		// Apre e chiude una parte del documento
    		function apre(id){;
    			if (document.getElementById) {
    				if(getEl(id).style.display == 'none') getEl(id).style.display = 'block';
      			}
    		}
    </script>
    Ora il codice dell'evento onchange che scatena gli eventi per ogni select richiesta.
    Metto solo la parte relativa a select senza riportare l'intero codice, tanto gli <option> non cambiano
    codice:
    <select id="alfabeto" onchange="apre(this)">
    Attenzione! Non ricordo esattamente la sintassi ma se non ricordo male inserendo this in quel modo prende proprio il valore dell'opzione selezionata, se no bisogna che mi ricordi la sintassi di listIndex.... passato troppo tempo dall'ultima volta
    Ora se ho capito bene, tu vuoi creare una pagina in cui si vede un select con una serie di valori, nell'esempio l'alfabeto, e con la scelta di uno di questi valori, appaia una seconda select con una seconda serie di valori.
    Se ho capito cosa vuoi fare e comunque nel mio esempio del vocabolario, il primo select usa come valori l'alfabeto che poi altro non saranno che gli IDentificatori di tutta una serie di select nascoste, quindi il valore riportato da ogni opzione della prima select altro non è che l'ID della prossima select, in modo che le due semplici funzioncine in javascript possano far comparire quella giusta.
    Immagino che tutto questo non ti sia famigliare, ma spero che comunque possa aver contribuito alla soluzione, se ho capito la domanda

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    4

    Grazie

    Grazie per la risposta,stamattina sperimento e vediamo un po' cosa uscirà fuori !!!!

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.