E aí pessoal! Já estou procurando solução sobre minha dúvida a algum tempo, como não encontrei o que precisava resolvi abrir este tópico. Não tenho noções de Javascript. Preciso que ao selecionar a opção "Estágio" apareça na linha abaixo o campo "Turno que Estuda" com um campo select que permita selecionar um dos três turnos mostrados no código. O problema no código que envio é que se selecionar a opção estágio, mas depois optar pela opção profissional, o campo "turno que estuda" não desaparece. Ele desaparece somente se eu selecionar novamente estágio. Peguei este código em um fórum , mas não consegui adaptar. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<style>
/*estas classes css são necessarias para que o script funcione
corretamente*/
.show {
display: block;
}
.hide{
display: none;
}
</style>
<script type="text/javascript">
function Visibility(obj)
{
if(typeof(obj) != Object)
obj= document.getElementById(obj);
var toggleVisibility = {
hide: function(){obj.className = 'hide'},
show: function(){obj.className = 'show';}
}
return{
Toggle: function()
{
toggleVisibility[(obj.className == 'show' ? 'hide': 'show')]();
}
}
}
window.onload = function(){
document.getElementById('btnVisibility').onclick = Visibility('campo').Toggle;
}
</script>
<body>
<form>
<table width="100%" >
<tr><td>Categoria:</td>
<td>
<select name="categoria" id="categoria">
<option></option>
<option value="estagio" id="btnVisibility">Estágio</option>
<option value="profissional">Profissional</option>
</select><div id="campo" class="hide"> Turno:<select name="turnoEstuda" id="turnoEstuda">
<option></option>
<option value="manha">Manhã</option>
<option value="tarde">Tarde</option>
<option value="noite">Noite</option>
</select>
</div><td></tr>
</table>
</form>
</body>
</html>