Visualizzazione dei risultati da 1 a 8 su 8

Discussione: campo select dinamico

  1. #1

    campo select dinamico

    Buongiorno,

    vorrei visualizzare di fianco ad un campo select un immagine diversa a seconda della scelta fatta.

    <select name="sesso">
    <option value="">------</option>
    <option value="M" onchange="mostra('uomo');">Uomo</option>
    <option value="F">Donna</option>
    <option value="C">Coppia</option>
    </select><span id="uomo" style="display:none;">[img]img/male.gif[/img]</span><span id="donna" style="display:none;">[img]img/female.gif[/img]</span><span id="coppia" style="display:none;">[img]img/couple.gif[/img]</span>

    la funzione mostra è:

    function mostra(nr) {
    var text=document.getElementById(nr);
    if (text.style.display=="none") {
    text.style.display="inline";
    }else{
    text.style.display="none";
    }
    }

    Presumo che l'errore sia nel gestore on del tag option, io li ho provati tutti ma nessuno ha funzionato.

    Grazie
    Luca

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    credo tu voglia fare
    codice:
    <select name="sesso" onchange="mostra(this.options[this.selectedIndex].text.toLowerCase());">
    <option value="">------</option>
    <option value="M">Uomo</option>
    <option value="F">Donna</option>
    <option value="C">Coppia</option>
    </select><span id="uomo" style="display:none;">  [img]img/male.gif[/img]</span><span id="donna" style="display:none;">[img]img/female.gif[/img]</span><span id="coppia" style="display:none;">[img]img/couple.gif[/img]</span>
    
    <script>
    
    
    function mostra(nr) {
    if(document.getElementById(nr)){
    var text=document.getElementById(nr);
    if (text.style.display=="none") {
    text.style.display="inline";
    }else{
    text.style.display="none";
    }
    }
    }
    </script>

  3. #3
    Grazie funziona,

    il problema è che cambiando la selezione l'immagine non viene sostituita ma si aggiunge

  4. #4
    come posso ovviare?

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    nella funzione come prima cosa nascondi tutte le immagini
    codice:
    function mostra(nr) {
      document.getElementById('uomo').style.display="none";
      document.getElementById('donna').style.display="none";
      document.getElementById('coppia').style.display="none";
      if(document.getElementById(nr)){
        var text=document.getElementById(nr);
        if (text.style.display=="none") {
          text.style.display="inline";
        }
        else{
          text.style.display="none";
        }
      }
    }

  6. #6
    grazie :-)

    senti, come si passano DUE o più valori ad una funzione? separati da una virgola?

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da lucavizzi
    separati da una virgola?
    esatto

  8. #8
    Grazie Willybit

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.