Newsgroup: it.comp.lang.javascript
Titolo: Listbox.... dipendenti... come fare?

Ciao a tutti,
ho un problema,  brevemente io ho due listbox (per semplicità le indichiamo
con. A e B).
Il contenuto della listbox B deve variare in funzione di ogni voce contenuta
nella listbox A.
Esempio seleziono una voce dalla listbox A e sulla listbox B mi appare un
elenco.
Seleziono dalla listbox A un altra voce, e sulla B appare un altro elenco e
cosi via.
Come posso realizzare tutto questo? Ringrazio anticipatamente chi mi
risponde.
Cooper.

 Come posso realizzare tutto questo?
Basta che guardi il post con oggetto "Re: Select che dipende da una Select
precedente" del 14 agosto.
Maurizio.

Ho appena visto, ma l'esempio che viene riportato è completamente diverso
anche se richiama lo stesso problema.
Nel mio caso infatti non si parla di numeri ma di stringhe.... e non si può
generalizzare come è stato fatto in quel caso.
Per rendere meglio l'idea, nella listbox A abbiamo le voci (ad esempio):
Nazioni, Animali, Metalli.
Nella listbox B, se seleziono "Nazioni" deve apparire qualcosa tipo: Italia,
Spagna, Francia etc;  se seleziono Animali deve apparire: Cane, Gatto, Pesce
etc; se seleziono Metalli, deve apparire: oro, argento, rame etc etc...
Come puoi ben vedere la situazione è ben diversa da quella li esposta.
Rimango in attesa di altri suggerimenti, Cooper.
"Maurizio." <mau...@libero.itA> ha scritto nel messaggio
news:FRM79.73443$n04.2...@twister2.libero.it...


 da quella li esposta.
Non è che cambi molto; anzi, si semplifica un po'. Nella prima listbox puoi
inserire direttamente le varie voci visto che sono limitate e, in ogni caso,
le dovresti sempre scrivere da qualche parte. Questo è lo script. Se c'è
qualcosa di poco chiaro fai pure un fischio:
    <body bgcolor="#FFFFFF" onload="cambia(document.form1)">
    <script>
    var lbxb = new Array();
    lbxb[0] = new Array("Italia", "Spagna", "Francia");
    lbxb[1] = new Array("Cane", "Gatto", "Pesce");
    lbxb[2] = new Array("oro", "argento", "rame");
    function deleteall(f) {
        while (f.length > 0)
        f.options[0]=null;
    }
    function cambia(f) {
        deleteall(f.seconda);
        var idx = f.prima.selectedIndex;
        for (var i=0; i < lbxb[idx].length; i++)
        f.seconda.options[i]=new Option(lbxb[idx][i], i);
        f.seconda.options[0].selected=true;
    }
    </script>
    <form name="form1" >
    Prima listbox:
    <select name="prima" onChange="cambia(this.form)">
        <option value="0" selected>Nazioni</option>
        <option value="1">Animali</option>
        <option value="2">Metalli</option>
    </select>
    seconda listbox:
    <select name="seconda">
        <option value="VALUE=0">Italia</option>
    </select>
    </form>
Maurizio.

Ok grazie :) adesso comincia a diventare più chiaro :)
Cooper.
"Maurizio." <mau...@libero.itA> ha scritto nel messaggio
news:oFO79.73734$n04.2...@twister2.libero.it...


, 
ima...@hotmail.com
 
says...

Si, puoi farlo riempiendo dinamicamente la select dipendente.
Dai un'occhio a questo script: 
http://www.jsdir.com/staffscripts/script048.asp
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

Grazie Riccardo,
la spiegazione è veramente esauriente, adesso mi è ancora più chiaro :)
Cooper.
"Riccardo" <ri.ri...@agora.stm.itALY> ha scritto nel messaggio
news:MPG.17ca05e3...@powernews.libero.it...
