Ciao a tutti ho un problema con questo script. Dovrebbe nascondermi o mostrarmi un div a seconda della scelta della select. Funziona solo con la prima e la seconda scelta, mentre con la 3 e 4 no. Pare che l' IF funzioni solo al primo ciclo. Ho inserito info per il debug che fanno capire ciò.
Qualcuno può aiutarmi? Grazie infinite.
codice HTML:
<script>
//visualizza o nasconde div
function dis_hide_div(div_id, w){
document.getElementById(div_id).style.display = w;
}
//nasconde/mostra un div se IF ritorna true
function hiddenIf(w, div_id, getInput, list){
var explode = list.split(",");
var Tipologia = document.getElementById(getInput).options[document.getElementById(getInput).selectedIndex].value;
for(i=0;i<explode.length;i++){
alert('costante '+Tipologia+' = variabile '+explode[i]);
if(Tipologia == explode[i]){
dis_hide_div(div_id, w);
alert('Eeguo il break');
break;
}
}
}//Function end
</script>
<select name="id_contract_type"
id="id_contract_type"
onChange="hiddenIf('block','pro_div','id_contract_type','2');
hiddenIf('none','pro_div','id_contract_type','1, 3, 4')" >
<option value='1' >Nascosto1</option>
<option value='2' selected>Visibile</option>
<option value='3' >Nascosto2</option>
<option value='4' >Nascosto3</option>
</select>
<div id="pro_div" style="display: block;" >
Questo deve apparire solo se scelgo "Visibile"
e nascondersi solo se scelgo: "Nascosto"
</div>