Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    13

    div nascosti, comandati da un select onchange

    Vorrei poter far apparire dei tag div con style="display:none" attraverso un menu' select.
    <select onchange=NONSO>
    <option value=id1>div 1</option>
    <option value=id2>div 2</option>
    <option value=id3>div 3</option>
    </select>

    <div id=id1 style="display:none">
    Prova1
    </div>
    <div id=id2 style="display:none">
    Prova2
    </div>
    <div id=id3 style="display:none">
    Prova3
    </div>

    all'onchange dovrei passare qualcosa del tipo:
    document.all.(this.options.value).style.display=' ', ma ovviamente cosi' non funziona.. altrimenti non sarei qui..
    Qualche idea alternativa?
    Spero di essere riuscito a far capire l'obiettivo.
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    vuoi solo farli apparire?
    onchange="document.getElementById(this.options[this.selectedIndex].value).style.display='block'"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    13
    Grazie, risolve il mio problema.
    Volevo chiedere anche se al medesimo click di selezione nel select posso disabilitare in qualche modo il select stesso.. in modo che non sia + modificabile.. con un readonly o similari..
    Altra cosa.. come riesco, con una funzione collegata ad un bottone, a nascondere in un colpo solo tutti i div che nel frattempo si sono resi visibili, riabilitanto nel contempo i select che si sono disabilitati? Pensavo a due istruzioni for di un array composto da tutti i div nella pagina..

    Grazie per l'aiuto.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    13
    Tralasciando il resto, visto che in un modo o nell'altro sono riuscito spulciando nel forum, cosa che non avevo fatto prima, non riesco ancora, con un unico click a mascherare tutti i div che fino a quel momento si sono resi visibili..
    Non mastico molto di js.. qualcuno potrebbe aiutarmi a fare una funzione che ottenga questo effetto?

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sì, puoi usare un array
    se le select sono + di una prepara 2 funzioni
    codice:
    <script type="text/javascript">
    var arrDiv=new Array('id1','id2','id3','idn');
    function mostra(sel){
    	document.getElementById(sel.options[sel.selectedIndex].value).style.display='block';
    	sel.disabled=true
    }
    function nascondi_tutti(){
    	for(var k=0;k<arrDiv.length;k++){
    	document.getElementById(arrDiv[k]).style.display='none'
    	}
    // elenco delle select da riabilitare
    // anche qui se il numero è variabile puoi preparare un array e fare un ciclo
    	document.nomeForm.nomeSelect1.disabled=false
    	document.nomeForm.nomeSelect2.disabled=false
    	
    }
    </script>
    <form name="nomeForm">
    <select name="nomeSelect1" onchange="mostra(this)">
    <option value="id1">div 1</option>
    ...
    ciao

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.