Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839

    Nascondere/mostrare PIÙ elementi contemporaneamente

    Ho una domandina per voi...

    da una select, nel caso in cui si selezioni un determinato valore, vorrei nascondere vari altri campi.

    Sto provando in questo modo:
    codice:
    <select name="Id" id="Id" onChange="check(this,this.form,'Mostra')">
    <option selected="selected" value=0>Seleziona</option>
      ...
    </select>
    
    
    <p id="Mostra"><input name="a".....></p>
    <p id="Mostra"><input name="b".....></p>
    <p id="Mostra"><input name="c".....></p>
    
    
    
    <script>
    function check(sel,theForm,Mostra){
      if(sel.selectedIndex!=0){
        var val=sel.options[sel.selectedIndex].value
        if(val=='116' || val=='94'){
    
    	  document.getElementById(Mostra).style.display="block";
        }
        else {
    
    	  document.getElementById(Mostra).style.display="none";
        }
      }
      else {
     
    	document.getElementById(Mostra).style.display="none";
      }
    }
    </script>
    Il problema è che mi nasconde solo il primo elemento. Come posso nasconderli tutti?
    Sicut Nox Silentes

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <select name="Id" id="Id" onChange="check(this,this.form)">
    <option selected="selected" value=0>Seleziona</option>
      ...
    </select>
    
    
    <p id="Mostra" class="miaclasse"><input name="a".....></p>
    <p id="Mostra1" class="miaclasse"><input name="b".....></p>
    <p id="Mostra2" class="miaclasse"><input name="c".....></p>
    
    
    
    <script>
    function check(sel,theForm){
    var elemClass = document.getElementsByClassName('miaclasse');
    var val=sel.options[sel.selectedIndex].value
    for(var i=0; i<elemClass.length; i++){
      if(sel.selectedIndex!=0 && val=='116' || val=='94'){
    	  elemClass[i].style.display="block";
        }
        else {
    	 elemClass[i].style.display="none";
        }
    }
    }
    </script>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    codice:
    <select name="Id" id="Id" onChange="check(this,this.form)">
    <option selected="selected" value=0>Seleziona</option>
      ...
    </select>
    
    
    <p id="Mostra" class="miaclasse"><input name="a".....></p>
    <p id="Mostra1" class="miaclasse"><input name="b".....></p>
    <p id="Mostra2" class="miaclasse"><input name="c".....></p>
    
    
    
    <script>
    function check(sel,theForm){
    var elemClass = document.getElementsByClassName('miaclasse');
    var val=sel.options[sel.selectedIndex].value
    for(var i=0; i<elemClass.length; i++){
      if(sel.selectedIndex!=0 && val=='116' || val=='94'){
    	  elemClass[i].style.display="block";
        }
        else {
    	 elemClass[i].style.display="none";
        }
    }
    }
    </script>
    getElementsByClassName è supportato in Explorer solo dalla versione 9.

    La condizione nel costrutto if ha bisogno di parentesi altrimenti l'AND avrà la precenza sull'OR.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.