Ir para conteúdo

POWERED BY:

Arquivado

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

Fabio Henrique Rangel

input select multiple Auto complete

Recommended Posts

Ola Pessoal

 

Gostaria de uma Ajuda de Voces

 

Estou fazendo um formulario e preciso que um select multiple me retorne duas informações da base de dados Tipo ( nome e email ) .

 

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

select multiple -------> nome

--------------------- email

 

Agradeço a Todos

 

form.png

Obrigado a Todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso da imagem que voce me mostrou,vc ira computar 1 registro de cada vez ou seja: so existe 1 campo nome,1 campo email,1 campo data....1 campo valor,ou no caso sao varios inputs um embaixo do outro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

perae deixa ver se eu entendi,o seu projeto esta como? desta forma: ou seja um registro de cada vez:

 

form.png

 

 

ou desta forma? varios inputs de uma vez só??

 

formd.png

 

e caso for 1 por 1 como na primeira imagem,um dia voce pretende fazer como esta representada na segunda imagem???

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que não vai interferir ser um ou várias linhas o script vai ser o mesmo. seria uma requisição ajax certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto rapaz fiz o comando pra voce é este!

 

<select name="menu" id="menu" onChange="pegar();">
  <option value="<? echo "gabriel@gmail.com"; ?>"  onClick="pegar();">Gabriel</option>
  <option value="<? echo "andersom@gmail.com"; ?>"  onClick="pegar();">Andersom</option>
  <option value="<? echo "joao@gmail.com"; ?>"  onClick="pegar();">Joao</option>
</select>
<br>
<script>
function pegar(){
	
	 var pego = document.getElementById("menu").value;
	 document.getElementById("email").value = pego;
}
</script>

<input name="email" placeholder="email" id="email"  type="text">


agora vou explicar,no seu menu voce ira colocar o comando

 onChange="pegar();"

 

 

assim que mudar os valores ira ser chamada uma funçao javascript que é esta:

 

<script>
function pegar(){
	
	 var pego = document.getElementById("menu").value;
	 document.getElementById("email").value = pego;
}
</script>

 

 

dai ele ira armazenar na variavel pego "var pego " o valor do menu,no caso ele ira pegar a opçao que vc selecionou ou se é joao ou se é anderson ou se é gabriel,se for anderson ele pega o value do anderson que é:

 

value="<? echo "andersom@gmail.com"; ?>"


voce tambem pode fazer isso somente dando um echo na variavel $email(aquela que vem no banco de dados)

 

 

depois que ele pega o value ele executa outro comando abaixo que é este:

 

 document.getElementById("email").value = pego;

que ele vai pegar o campo cujo id é igual a email vai pegar o value e ira substituir esse value em branco em um valor que no caso é .value = pego; ... e como vimos anteriormente PEGO nada mais é do que a variavel que armazena o value que é esta

var pego =......

 

 

 

e pronto o restante é com voce mesmo,ultilizando os comando php abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim ja fiz isso mais ta retornano o valor do email

select name=protetico não sei porque ta recebendo <input name=email

 

 

<select name="protetico" id="menu" onChange="pegar();">
<option value="<? echo "gabriel@gmail.com"; ?>" onClick="pegar();">Gabriel</option>
<option value="<? echo "andersom@gmail.com"; ?>" onClick="pegar();">Andersom</option>
<option value="<? echo "joao@gmail.com"; ?>" onClick="pegar();">Joao</option>
</select>
<br>
<script>
function pegar(){
var pego = document.getElementById("menu").value;
document.getElementById("email").value = pego;
}
</script>

<input name="email" placeholder="email" id="email" type="text">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu explicar melhor,,,,

Fiz um db_zinho so pra testar.

 

no db tem 2 colunas" menu" e "email" as duas estão recebendo o mesmo valor do email

___________________________________

| menu | email |

| joao@gmail.com | joao@gmail.com |

| gabriel@gmail.com gabriel@gmail.com |

 

Codigo original

 

 

<select name="menu" id="menu" onChange="pegar();">

<option value="<? echo "gabriel@gmail.com"; ?>" onClick="pegar();">Gabriel</option>

<option value="<? echo "andersom@gmail.com"; ?>" onClick="pegar();">Andersom</option>

<option value="<? echo "joao@gmail.com"; ?>" onClick="pegar();">Joao</option>

</select>

<br>

<script>

function pegar(){

 

var pego = document.getElementById("menu").value;

document.getElementById("email").value = pego;

}

</script>

 

<input name="email" placeholder="email" id="email" type="text">

 

 

Sera que eu que estou fazendo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá seguinte,eu nao consegui fazer isso via javascript e nao tem como passar varios valores atraves do select pois o formulario ao quanto a isso é um pouco limitado,mais eu consegui,fazer da seguinte forma,mais primeiro voce tera que me dizer se os valores que estao no select aqueles nomes,ja estao cadastrados no banco de dados?? junto com os emails??



ou seja acredito que voce ira fazer um select no banco de dados e ira puxar o nome junto aos emails,supondo que o nome voce ira armazenar na variavel $nome e o email sera na variavel $email,dai voce ira colocar seu select da seguinte forma;

 

  <option value="<? echo $email ?>"  onClick="pegar();"><? echo $nome ?></option>

 

vai esta assim? certo?



e este email? entao quando voce seleciona um nome o email apareçe no campo ao lado certo!,voce tambem poderá modificar este email?? ou o email nunca sera modificado(modificar no sentido de modificar na hora mesmo,modificar apartir desta tela):

 

form.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte rapaz,eu consegui fazer de uma forma,maaas esta forma apresentada baixo nao ira registrar o campo nome no banco de dados,isso caso o email for alterado naquela tela(agora se for alterado em outra pagina de registro de usuario,ou ate mesmo no banco de dados nao havera problemas);

 

seguinte,voce esta enviando todos estes campos para uma outra pagina certo,pra depois poder inserir no banco de dados...a primeira coisa QUE voce vai fazer é:

 

Pegar os campos atraves do $_POST ou $_GET-- isso voce ja deve saber fazer,dai ficara assim

$email = $_post['menu'];
$data = $_post['data'];
$status = $_post['status'];
$valor = $_post['valor'];

 

 

o nome nao sera pego,iremos pegar ele da seguinte forma :

 

1-caso o campo email nao estiver alterado,ou seja estiver da mesma forma que esta na tabela usuarios de seu banco de dados,voce ira pegar a variavel email que armazena o campo email e ira fazer um select apartir dele e ira puxar o nome do sujeito,entende? exemplo:

 

$email = $_post['menu'];
$data = $_post['data'];
$status = $_post['status'];
$valor = $_post['valor'];

$pega_nome = mysql_query("SELECT * FROM usuarios WHERE email_usuario = $email");
while ($row=mysql_fetch_array($pega_nome)){
            $nome_usuario=$row["nome"];
}

 

agora que temos o nome do usuario iremos fazer o insert normalmente,entendeu
?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok obrigado Vou tentar desta forma também,,, mais eu acabei de encontrar uma solução aqui

 

Eu consegui aqui foi fazer de Select para Select com ajax e javascript parece vou postar o código para que quiser

 

 

Arquivo index.php

 

 

 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="jquerys/select.js"></script><!---Pega na Biblioteca Jquerys----->

<script language="JavaScript">
var newWin = null; 
function popUp(strURL, strType, strHeight, strWidth) { 
 if (newWin != null && !newWin.closed) 
   newWin.close(); 
 var strOptions=""; 
 if (strType=="console") 
   strOptions="resizable,height="+ 
     strHeight+",width="+strWidth; 
 if (strType=="fixed") 
   strOptions="status,height="+ 
     strHeight+",width="+strWidth; 
 if (strType=="elastic") 
   strOptions="toolbar,menubar,scrollbars,"+ 
     "resizable,location,height="+ 
     strHeight+",width="+strWidth; 
 newWin = window.open(strURL, 'newWin', strOptions); 
 newWin.focus(); 
}
</script>
<?
include('../config.php');  
?>

 <!------------------------------------------------------------------------->        
                     
          <select name="nome" class="nome1" id="serv1desc" onchange=servtotal1();>
          <option selected="selected" >Nome</option>
          <?php
          
          $sql=mysql_query("select * from prot_nome ");
          while($row=mysql_fetch_array($sql))
          {
          $id=$row['id'];
          $nome=$row['protetico'];
          $cod=$row['cod'];
          $esp='  -  ';
          echo '<option value="'.$id,$esp ,$nome.'">'.$nome.'</option> onchange=servtotal1();';
          } ?>
          </select>   
      
<!------------------------------------------------------------------------>
             <SELECT  id=serv1rate  class=email1  onchange=servtotal1(); name=serv1rate  >
             <OPTION  ></OPTION>
<!------------------------------------------------------------------------>
          

 

 

select.php ( segundo select )

 

 

 

<?php
include ("../config.php"); 
if($_POST['id'])
{
$id=$_POST['id'];
$sql=mysql_query("select * from prot_nome where id='$id'");
while($row=mysql_fetch_array($sql))
{
$id=$row['id'];
$email=$row['email'];
echo '<option value="'.$email.'">'.$email.'</option>';
}
}
?>

 

 

selects.js (Dentro da Jquerys )

 

 

 


$(document).ready(function()
{
$("nome1").change(function()
{
var id=$(this).val();
var dataString = 'id='+ id;

$.ajax
({
type: "POST",
url: "select.php",
data: dataString,
cache: false,
success: function(html)
{
$(".email1").html(html);
} 
});

});

});

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.