Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adriano Programmer

[Resolvido] Selecionar option do list/menu e aparecer um edit...

Recommended Posts

Bom dia pessoal, eu tenho um list menu, com os seguintes itens:

 

Terra

Agua

Areia

....

Não Encontrei

 

Se a pessoa selecionar o <option> "Não Encontrei"... Ao lado do list/menu tem que abrir um campo de texto...E se qualquer outro item do list/menu que não seja "Não Encontrei" estiver selecionado, o campo de texto tem que ficar oculto...

 

Eu sei que isso parece bem simples, mas deu uma procurada na net e não achei muita coisa....

 

 

Desde já muito obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

if (document.getElementById("IdDoSelect").value = "Não Encontrei")
{
document.getElementById("IdDoCampoTexto").style.display = "block";
}
else
{
document.getElementById("IdDoCampoTexto").style.display = "none";
}

 

Faça sua função assim e a chame no evento "OnChange" da combobox..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Eu fiz minha função assim...

 

function exict(exibe) {

if (exibe=='sim') {

if (document.getElementById("empresa1").value = "Não Encontrei...") {

document.getElementById('empresa2').style.display = '';

}

else {

document.getElementById('empresa2').style.display = 'none';

}

}

}

 

E chamei no OnChange do combobox mas não funcionou....

Tem mais um porem, quando o usuário abrir a página o campo empresa2 já vai ter que estar oculto, só irá aparecer se o value do combobox for "Não Encontrei..."

 

O que eu estou errando?

Desde já obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código da combobox junto com a função JS..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, o problema é o seguinte, pelo que eu entendi a função não está filtrando para exibir só quando o <option> for = Não Encontrei...

 

Minha função está desta forma:

 

function exibir_edit() {
  if (document.getElementById("instituicao1").value = "Não Encontrei") {
	document.getElementById('instituicao2').style.display = '';
  }
  else {
	document.getElementById('instituicao2').style.display = 'none';
  }
}

E o combobox está assim:

 

<select style="width: 200px;" name="instituicao1" onChange="exibir_edit();" id="instituicao1">
<option class="listmenu">
selecione ou insira ao lado...
</option>
//consulta no banco
<?php
$consulta = ibase_query("SELECT INSTENS FROM INSTENS order by INSTENS");
while ($dados = ibase_fetch_object($consulta))
{
echo "<option value='".$dados->INSTENS."'>".$dados->INSTENS."</option>";
}
?>
//valor chamado na função
<option class="listmenu">
Não Encontrei
</option>
</select> 
<label>
//input que eu quero que apareça
<input name="instituicao2" type="text" style="display: none" maxlength="50" id="instituicao2" size="30" <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { echo "value=\"" . $instituicao2 . "\"";} ?>/>
</label>

Obrigado desde já...

Compartilhar este post


Link para o post
Compartilhar em outros sites

document.getElementById('instituicao2').style.display = 'block';

Nao "document.getElementById('instituicao2').style.display = '';"..

 

Abraços..

 

EDIT:

 

<option class="listmenu">
Não Encontrei
</option>

CADE a value dessa option ???????

 

Ele tem q ficar assim:

 

<option class="listmenu" value = "Não Encontrei">
Não Encontrei
</option>

 

SÓ ASSIM ela vai funcionar, se você NAO colocar o valor "Não Encontrei", como você qr q a função pegue esse valor, se ela NAO EXISTE ??

 

 

Uma boa olhada no seu código já sanaria sua dúvida em questão de segundos....

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Darkdemo,

 

Queria agradecer pela força que me deu. Eu não tinha declarado o value no option, porque eu nem sabia que precisava...

Achava que o value seria o valor do option que estava sendo exibido na tela...

 

Valeu mesmo....

 

O código ficou assim...

 

____________________

JS

 

<script>
function exibir_edit() {
  if (document.getElementById("empresa1").value == "Não Encontrei") {
	document.getElementById('labempr').style.display  = '';
	document.getElementById('empresa2').style.display  = '';
  }
  else {
	document.getElementById('labempr').style.display  = 'none';
	document.getElementById('empresa2').style.display  = 'none';
  }
}
</script>

___________________________

Combobox

 

<select name="empresa1" id="empresa1" onChange="exibir_edit();" style="width: 200px;">
<option class="listmenu" value="Não Encontrei">

___________________________

Itens para serem exibidos, (obs: por default eles abrem ocultos)

 

<label id="labempr" [b]style="display: none"[/b]>
 outros 
</label>
<input name="empresa2" type="text" id="empresa2" [b]style="display: none"[/b] size="30" maxlength="50">

Está ae o código para futuras consultas abraço, valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom gente, estou com uma duvida sobre isso tambem... consegui fazer tudo isso funcionar, mas a grande questao eh a seguinte, logo quando entro na pagina ele nao funciona, eu preciso clicar em outro option da minha list para o text sumir... entenderam ? ex: eu tenho duas opcoes, dinheiro ou cheque, o list ja fica marcado o dinheiro, e quando clicar em cheque abrir o text, quando eu abro a pagina ele abre o list em dinheiro com o text do lado, se eu colocar em cheque e depois em dinheiro ai o text some do jeito que eu queria, como fazer para o text ja começar oculto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.