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

    select dinamico che visualizzi altro select

    ho un problemino..da un select vorrei ke, a seconda della voce scelta, mi faccia vedere uno tra altri 2 moduli select.
    codice..ke è meglio
    codice:
    <select name="sel1" id="sel1" onchange="if (this.options[this.selectedIndex].value == '2') {document.getElementById('sel2').style.visibility = 'visible';}if (this.options[this.selectedIndex].value == '3') {document.getElementById('sel3').style.visibility = 'visible';}">
      <option value="1">opt1</option>
      <option value="2">opt2</option>
      <option value="3">opt3</option>
    </select>
    <select name="sel2" id="sel2" style="visibility: hidden;">
      <option value="a">optA2</option>
      <option value="b">optB2</option>
      <option value="c">optC2</option>
    </select>
    <select name="sel3" id="sel3" style="visibility: hidden;">
      <option value="a">optA3</option>
      <option value="b">optB3</option>
      <option value="c">optC3</option>
    </select>
    diciamo ke in parte funziona xò vorrei ke, se poi cambio la scelta sul primo di menù (sel1) si resetti tutto e il sel2 o il sel3 spariscano.
    oltretutto, se prima scelgo l'opzione opt2 e poi, ci ripenso, e scelgo opt3, mi compaiono sia sel2 ke sel3. come posso fare x far venire solo uno dei 2?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    E' un pochino piu' complicato eseguire tutti i controlli su una singola linea... ed oltretutto diventa facilmente illeggibile

    Metti tutto in una funzione...:
    codice:
    <script>
    function cambia(obj) {
    v = obj.options[obj.selectedIndex].value;
    f = obj.form;
    if (v == '2') {
      f.sel2.style.visibility = 'visible';
      f.sel3.style.visibility = 'hidden';
    }
    if (v == '3') {
      f.sel3.style.visibility = 'visible';
      f.sel2.style.visibility = 'hidden';
    }
    </script>
    </head>
    ...
    <select name="sel1" id="sel1" onchange="cambia(this)">
    ...
    ... supponendo che tutti gli oggetti appartengano allo stesso form

    ciao
    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
    non capisco x'mi dia errore sulla riga del primo select
    codice:
    <select name="sel1" id="sel1" onchange="cambia(this)">
    cm mai?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Posta lo script ed il form...

    ciao
    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

  5. #5
    questo è cm l'ho modificato secondo cm mi hai suggerito...
    codice:
    <script>
    function cambia(obj) {
    v = obj.options[obj.selectedIndex].value;
    f = obj.form;
    if (v == '2') {
      f.sel2.style.visibility = 'visible';
      f.sel3.style.visibility = 'hidden';
    }
    if (v == '3') {
      f.sel3.style.visibility = 'visible';
      f.sel2.style.visibility = 'hidden';
    }
    </script>
    
    </head>
    <body>
    <form name="form1">
    <select name="sel1" id="sel1" onchange="cambia(this)">
      <option value="1">opt1</option>
      <option value="2">opt2</option>
      <option value="3">opt3</option>
    </select>
    <select name="sel2" id="sel2" style="visibility: hidden;">
      <option value="a">optA2</option>
      <option value="b">optB2</option>
      <option value="c">optC2</option>
    </select>
    <select name="sel3" id="sel3" style="visibility: hidden;">
      <option value="a">optA3</option>
      <option value="b">optB3</option>
      <option value="c">optC3</option>
    </select>
    </form>

  6. #6
    errore trovato,mancava la graffa a kiudere la funzione!ora va,tnx!

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da fabioandr@libero.it
    errore trovato,mancava la graffa a kiudere la funzione!ora va,tnx!
    Perdona!
    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

  8. #8
    x questa volta ti perdono!
    una precisazione..il select ke viene nascosto lo posso disabilitare?
    o meglio..alla "partenza" tutti e 2 disabilitati, scelgo opzione 3==>vedo sel3==>sel2 disabilitato==>ci ripenso e voglio sel2==>sel3 disabilitato
    :master:

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.