Ir para conteúdo
Fórum Script Brasil
  • 0

select ativar outro campo


mostapha

Pergunta

preciso fazer ao selecionar um item do select acione outro campo

<td align="left">
<?
$_vistoria = $_POST['tip'];
?>
<select name="tip" class="combos" id="combo">
<option value="">Selecione uma Vistoria</option>
<option value="Interna" <? if ($_vistoria=='Interna') echo 'selected'; ?> >Interna</option>
<option Value="Externa" <? if ($_vistoria=='Externa') echo 'selected'; ?> >Externa</option>
</select></td>
<tr>
ao selecionar opção interna o select colaborador fique ativo
<tr>
<td align="left" width="140"><b>Colaborador: </b></td>
<td align="left">
<?
$_buscacol=ibase_query("Select COLCOD,COLNOM FROM R383 order BY COLNOM");
$row=0;
?>
<select name="col" class="combos" id="combo">
<option value="">Selecione um Colaborador</option>
<?
while ($lin_col= @ibase_fetch_assoc($_buscacol,$row)){
?>
<option value=" <? echo $lin_col['COLCOD'] ?> "> <? echo $lin_col['COLNOM'] ?> </option>
<? } $row++; ?>
</select>
</td>
</tr>
agradeço desde já...
Editado por mostapha
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

eahe.. da p/ fazer c/ 1 "if" e "echo"

segue abaixo exemplo sem banco de dados, só p/ pegar a lógica:

<form name="form1" method="post" action="">
<select name="tip"  class="combos" id="combo">
    <option value="">Selecione uma Vistoria</option>
    <option value="Interna" <?php if ($_vistoria=='Interna') echo 'selected'; ?> >Interna</option>
    <option Value="Externa" <?php if ($_vistoria=='Externa') echo 'selected'; ?> >Externa</option>
</select>
&nbsp;&nbsp;
<label>
<input name="seleciona" type="submit" id="seleciona" value="selecionar">
</label>
</form>
<p>
<?php
$_vistoria = $_POST['tip'];
$seleciona=$_POST['seleciona'];
if(isset($seleciona) && ($_vistoria=='Interna'))
{
echo
"
<b>Colaborador: </b><br /><br />
<select name='col'  class='combos' id='combo'>
     <option value=''>Selecione um Colaborador</option>
     <option value='1'>Pafuncio</option>
     <option value='2'>Maricota</option>
     <option value='3'>Terebintino</option>
</select>
";
}
?>

agora adapte ai o 2º combo p/ BD.. falou... fui...

Link para o comentário
Compartilhar em outros sites

  • 0

Function dis(){

if (frmvis.tip.valor.value=='Interna'){

frmvis.col.disable=false;

}else{

frmvis.col.disable=true;

}

--------------------

<select name="tip" class="combos" id="combo" onClick="dis();">

<option value="">Selecione uma Vistoria</option>
<option value="Interna" <?php if ($_vistoria=='Interna') echo 'selected'; ?> >Interna</option>
<option Value="Externa" <?php if ($_vistoria=='Externa') echo 'selected'; ?> >Externa</option>
</select>

-------------------------

<select name="meio" class="combos" id="combo" disabled="disabled">
<option value="">Selecione uma Meio Usado</option>
<option value="Inspeção de Campo" <? if ($_meiovistoria=='Inspeção de Campo') echo 'selected'; ?> >Inspeção de Campo</option>
<option Value="E-mail" <? if ($_meiovistoria=='E-mail') echo 'selected'; ?> >E-mail</option>
<option Value="Telefone" <? if ($_meiovistoria=='Telefone') echo 'selected'; ?> >Telefone</option>
<option Value="Verbal" <? if ($_meiovistoria=='Verbal') echo 'selected'; ?> >Verbal</option>
<option Value="Correio" <? if ($_meiovistoria=='Correio') echo 'selected'; ?> >Correio</option>

</select>

tava tentando assim.. mais não deu certo

Editado por mostapha
Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um codigo igual com jquery para uma outra duvida aqui do forum. Dependendo do valor do select, abre e fecha as divs. Só adaptar:

https://www.scriptbrasil.com.br/forum/topic/176232-problema-para-esconder-campos-de-formulario-php/

Link para o comentário
Compartilhar em outros sites

  • 0
Mas e se o cliente alterar o select de interna para externa?

Teria de usar um javascript para mostrar o 2o combo...

caras.. de boa..

se alterar p/ externa vai sumir o 2º combo, claro,

mas isso é o q foi pedido aqui (requisito):

ao selecionar opção interna o select colaborador fique ativo

ou seja: o que determina a ação é acionamento do botão.. como ele faz uma coisa, pode fazer outra,

podem jogar outro if, else.. switch... sem precisar de javascript.. porque afinal aqui é forum de PHP..

gostei da ideia do marcelo mais já tinha feito assim.... acho que seria legal uma função em javascript (...)

ta beleza, mas p/ favor quando mudar o requisito da próxima vez avise, falou?

boa sorte caras, fui..

Editado por Marcelo_2
Link para o comentário
Compartilhar em outros sites

  • 0

Marcelo, não tive nenhuma má intenção ao colocar a minha resposta com aquela pergunta.. :mellow:

Saudações Mostapha,

Mas e se o cliente alterar o select de interna para externa? Teria de usar um javascript para mostrar o 2o combo...

Infelizmente quando a gente lê alguma coisa via aqui no fórum ou outro bate-papo da vida, as frases muitas vezes podem se distorcer e ter 'entonações' diferentes para cada pessoa. :mellow:

Cada um tem o seu ponto de vista, e naquele momento somente tentei ajudar tendo em vista que nos meus códigos já tive esse problema e simplesmente dei a dica... :)

Toda tentativa de ajuda é bem-vinda em um fórum. :D

Link para o comentário
Compartilhar em outros sites

  • 0

Exemplo:

<!DOCTYPE html>
<html>
<head>



</head>
<body>
  
<form name="form" method="POST"> 
  <select name="select" onchange="muda(this);"> 
   <option value="MG">Minas Gerais</option> 
   <option value="RJ">Rio de Janeiro</option> 
   <option value="SP">São Paulo</option> 
  </select> 
</form>
<div id="caixa1" style="display: none;"> Caixa1 MG</div>
<div id="caixa2" style="display: none;"> Caixa2 RJ</div>
<div id="caixa3" style="display: none;"> Caixa3 SP</div>  
  
</body>
<script type='text/javascript'>


function muda(obj){ 
 var i = obj.selectedIndex; 
 var j = obj.options[i].value; 
 if (j=='MG') { 
			document.getElementById('caixa1').style.display="block";  
			document.getElementById('caixa2').style.display="none";
			document.getElementById('caixa3').style.display="none";
			} else
 if (j=='RJ') { 
			document.getElementById('caixa2').style.display="block";  
			document.getElementById('caixa1').style.display="none"; 
			document.getElementById('caixa3').style.display="none"; 
			} else
 if (j=='SP') { 
			document.getElementById('caixa3').style.display="block";  
			document.getElementById('caixa1').style.display="none"; 
			document.getElementById('caixa2').style.display="none"; 
			}
}  
  

</script>
</html>
Editado por Sandro2011
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...