Pessoal, estou desenvolvendo um projetinho e precisava que quando o usuário escolhesse a opção outro no select abrisse um novo
O modo mais fácil é criar isto com o style=“display:none;” e no evento onchange do elemento select, quando a opção selecionada corresponder ao “Outro”, mudar para style.display = “inline”;
Como eu faria isso na prática ?
Eita povo que não estuda javascript…
Vamos lá, aula básica de HTML + DOM + CSS + JAVASCRIPT.
Todo elemento html possui determinadas propriedades, alguns mais outros menos, a maioria, porém, pode possuir um que define estilo, como posição, cor, dimensões, etc.
O elemento
Javascript nos permite identificar propriedades de elementos HTML através de DOM, com o método getElementById, conseguimos identificar o elemento desejado e manipular as propriedades que queremos.
As funções javascript são disparadas a partir de eventos ocorridos no documento, seja de mouse, teclas ou tempo.
Um dos eventos que podem ocorrer em um é o onchange.
Como as funções podem receber parâmetros, podemos informar quem chama e quem será afetado.
Como os parâmetros podem ser os ids dos elementos envolvidos, pelo método getElementById e o submétodo value, que retora o valor de um elemento, podemos determinar se a opção “Outro” está selecionada.
Caso esteja, podemos alterar a subpropriedade display para “inline” e mostrar o
Quer um exemplo? Aí vai.
<html>
<head>
<script>
/*
Função que recebe os ids dos elementos que dispara e será afetado
Verifica o valor selecionado
Exibe ou oculta o elemento afetado
*/
function mostraOculta(opc, id){
if(document.getElementById(opc).value == 'Outro'){
if(document.getElementById(id).style.display == 'none'){
document.getElementById(id).style.display = 'inline';
}
}else {
document.getElementById(id).style.display = 'none';
}
}
</script>
<title>Este código foi gerado por drsmachado</title>
</head>
<body>
<table>
<tr>
<td id="tdd">
<select id="ids" onchange="mostraOculta('ids', 'tdm');">
<option value="opc1">Opc1</option>
<option value="opc2">Opc2</option>
<option value="opc3">Opc3</option>
<option value="Outro">Outro</option>
</select>
</td>
<td id="tdm" style="display:none;">
<input type="text" name="nome" id="idtxt"/>
</td>
</tr>
</table>
</body>
</html>
Como este exemplo se aplica ao elemento
Obrigado! Entendi perfeitamente