Ir para conteúdo

POWERED BY:

Arquivado

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

marcosmigueloliveira

Auto Complete selecionando os dados e montar em imputs

Recommended Posts

Ola pessoal estou utilizando o plugin autocomplete do jquery, gostaria de quando clicar no item carregar em uma div abaixo com o codigo e outros dados da tabela e um link que vou enviar pelo get para outra pagina os dados. TEriam como me ajudar vejam o meu codigo:

 

Pagina que tem o input que busca as ferramentas e vou montar a div:

<?php
  session_start();
  include 'valida.php';
  include 'funcao_conexao.php';
  include 'variaveisDaSecao.php';

  //RECEBENDO DADOS DO USUARIO/LOCAL
  $usuario      =  $_POST["slc_usuario"];
  $local        =  $_POST["slc_local"];

  $CodGrad        =  $_POST["slc_graduacao"];
  $CodPerfil      =  $_POST["slc_acesso"];
  $CodEspec       =  $_POST["slc_especialidade"];
  $NGuerra        =  $_POST["txt_nguerra"];
  $Senha          =  $_POST["txt_senha"];
  $Celular        =  $_POST["txt_celular"];

  //RECEBENDO DADOS PELO GET
  $SaramGet         =  $_GET["acao"];
  $Saramre          =  $_GET["acao"];
  $SaramDel         =  $_GET["acaoDel"];


  //$chars = array("(",")","-"," ");
  //$SaramPost = str_replace($chars,"",$SaramPost); 
  //$SaramGet = str_replace($chars,"",$SaramGet); 

?>

<html>
  
  <head>
    <title>6º ETA - SINFO</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap-submenu.min.css">    
    <link rel="stylesheet" href="bootstrap-3.3.4-dist/css/submenu.css">  

    <script src="bootstrap-3.3.4-dist/js/jquery.min.js" type="text/javascript"></script>
    <script src="bootstrap-3.3.4-dist/js/bootstrap.min.js" type="text/javascript"></script>
    <script src="bootstrap-3.3.4-dist/js/funcoes.js" type="text/javascript"></script>
    <script src="bootstrap-3.3.4-dist/js/bootstrap-submenu.min.js"></script>
 <!--links auto-completar-css -->
<script type="text/javascript" src="jquery-autocomplete/lib/jquery.js"></script>
<script type="text/javascript" src="jquery-autocomplete/lib/jquery.bgiframe.min.js"></script>
<script type="text/javascript" src="jquery-autocomplete/lib/jquery.ajaxQueue.js"></script>
<script type="text/javascript" src="jquery-autocomplete/lib/thickbox-compressed.js"></script>
<script type="text/javascript" src="jquery-autocomplete/jquery.autocomplete.js"></script>
<!--links auto-completar-js-->
<link rel="stylesheet" type="text/css" href="jquery-autocomplete/jquery.autocomplete.css"/>
<link rel="stylesheet" type="text/css" href="jquery-autocomplete/lib/thickbox.css"/>




<!--links auto-completar-js-->
  <link rel="stylesheet" href="../jquery/jquery-ui.css">
  <script src="../jquery/jquery-1.10.2.js"></script>
  <script src="../jquery/jquery-ui.js"></script>

 <!-- mascara do campo telefone-->

<script type="text/javascript">
//mascara saram
      /*function mascaraSaram(txt_saram){ 
         if(txt_saram.value.length == 6)
           txt_saram.value = txt_saram.value + '-'; //quando o campo já tiver 6 caracteres, o script irá inserir um tracinho, para melhor visualização do telefone.

      }*/
//mascara telefone
      function mascaraCelular(txt_celular){ 
         if(txt_celular.value.length == 0)
           txt_celular.value = '(' + txt_celular.value; //quando começamos a digitar, o script irá inserir um parênteses no começo do campo.
         if(txt_celular.value.length == 3)
            txt_celular.value = txt_celular.value + ') '; //quando o campo já tiver 2 caracteres (um parênteses e 2 números) o script irá inserir mais um parênteses, fechando assim o código de área.
       
       if(txt_celular.value.length == 9)
           txt_celular.value = txt_celular.value + '-'; //quando o campo já tiver 9 caracteres, o script irá inserir um tracinho, para melhor visualização do telefone.

      }

//somente numeros
      function SomenteNumero(e){
          var tecla=(window.event)?event.keyCode:e.which;   
          if((tecla>47 && tecla<58)) return true;
          else{
            if (tecla==8 || tecla==0) return true;
        else  return false;
          }
      }
//confirmacao exclusao
      function excluir_registro( e ){
        if( !confirm('Deseja realmente excluir este registro?') )
        {
          if( window.event)
            window.event.returnValue=false;
          else
            e.preventDefault();
        }
      }
//verificação de campos
    function validarCampos(){
      var usuario   = slc_usuario.value;
      var local     = slc_local.value;



      if  (usuario == 0){
        alert('O Campo Usuário não foi selecionado!');
        document.getElementById("slc_usuario").focus();
        document.getElementById("slc_usuario").style.backgroundColor='#FFD9D5';
        return(false);
      }

      if  (local == 0){
        alert('O Campo LOCAL DE MANUTENÇÃO não foi selecionado!');
        document.getElementById("slc_local").focus();
        document.getElementById("slc_local").style.backgroundColor='#FFD9D5';
        return(false);
      }                                 
    }

      // campos maiusculo
    function primeiramaiuscula(z){
      v=z.value.toUpperCase(1);
      z.value = v;


    }


    function maiusc(){
      var elemento = document.getElementById('txt_nguerra');

      if (value.length == 1){
       document.getElementById('txt_nguerra').value = elemento.toUpperCase();
      }
    }
</script>
    <style type="text/css">
      body {
        padding-top: 30px;
        padding-bottom: 20px;
      }
    </style>
        <script type="text/javascript">
            $().ready(function() {
                $("#course").autocomplete("autoCompleteFerramentas.php", {
                    width: 400,
                    matchContains: true,
                    //mustMatch: true,
                    //minChars: 0,
                    //multiple: true,
                    //highlight: false,
                    //multipleSeparator: ",",
                    selectFirst: false
                });
            });
        </script>
        <script type="text/javascript">
          function montarCampos(id){
            alert(id)



          }
        </script>        




  </head>
  
  <body>
    <?php
      include 'menu.php';
    ?>
    <div class="jumbotron">
      <div class="container">
        <h2>Saida de Ferramenta<br></h2>
          <?php
          $identificado = $_GET['identificado'];
          //montando os dados do usuario e local de manutenção que a ferramenta vai ser utilizada
          if ($identificado == 1) {
            $qrUserSel  = mysql_query("SELECT * FROM tb_usuario  AS u INNER JOIN tb_graduacao  g ON u.UsCodGrad =  g.GrCodigo WHERE u.UsSaram = '$usuario'");
            $UserIdent  = mysql_fetch_assoc($qrUserSel);
            $SaramIdent = $UserIdent['UsSaram'];
            $NomeIdent  = $UserIdent['UsNGuerra'];
            $GradIdent  = $UserIdent['GrNome'];
            //montando dados do local
            $qrLocalSel  = mysql_query("SELECT * FROM tb_local_manutencao  AS l WHERE l.LmCodigo = '$local'");
            $localIdent  = mysql_fetch_assoc($qrLocalSel);    
            $local = $localIdent['LmNome'];

            echo  ' <p class="text-danger">Nome: '.$GradIdent." ".$NomeIdent.'</p>';
            echo  ' <p class="text-info">Local: '.$local.'</p>';
            echo  '<a  class="btn btn-info" href="listarFerramentas.php">Voltar</a>';


          } else { 
         echo ' <form class="form-inline" action="listarFerramentas.php?identificado=1" method="POST">
          <fieldset>
            <!-- Select Basic -->
            <div class="form-group">
              <label class="col-md-8 control-label" for="slc_usuario">Usuário:</label>
              <div class="col-md-4">
                <select id="slc_usuario" name="slc_usuario" class="form-control">
                  
                  <option value="0">Selecione ...</option>';
            $queryUsuario =  mysql_query("SELECT * FROM tb_usuario  AS u INNER JOIN tb_graduacao  g ON u.UsCodGrad =  g.GrCodigo");
            while ( $rowUsuario = mysql_fetch_array($queryUsuario)) {
             echo '<option value="'.$rowUsuario['UsSaram'].'">'.$rowUsuario['GrNome']." ".$rowUsuario['UsNGuerra'].'</option>';
                     }
            echo '
                </select>
              </div>
            </div>   <br><br>
          <!-- Select Basic -->
            <div class="form-group">
              <label class="col-md-6 control-label" for="slc_local">Local Manutenção:</label>
              <div class="col-md-6">
                <select id="slc_local" name="slc_local" class="form-control">    
                  <option value="0">Selecione ...</option>';
                    $queryLocal =  mysql_query("SELECT * FROM tb_local_manutencao ");
                     while ( $rowLocal = mysql_fetch_array($queryLocal)) {
                      echo '<option value="'.$rowLocal['LmCodigo'].'">'.$rowLocal['LmNome'].'</option>';
                     }
                  
              echo '
                    </select>
                  </div>
                </div>            
            <br><br>
            <button id="btn_enviar" name="btn_enviar" class="btn btn-info" type="submit" onclick="return validarCampos();">Enviar</button>
            
                </fieldset>
              </form>   
              ';
          }
            ?>
          </div>
      </div>
    </div>
    <div class="container">
       <div class="row">
        <div class="zero-clipboard">
          <span class="btn-clipboard"><b>Escolha a Ferramenta:</b></span>
        </div>
        <div class="panel panel-danger">
          <div class="panel-body">  
            <form autocomplete="off" class="form-inline" action="listarFerramentas.php?identificado=1" method="POST">
              <div class="form-group">
                <label class="col-md-6 control-label" for="lbl_pesquisa_ferramenta">Digite o Nome</label>
                <div class="col-md-4">
                    <input class="form-control input-md" type="text" name="course" id="course" onChange="montarCampos(this.value)"/>
                </div><br>
                <div class="col-md-4">Codigo
                    <input class="form-control input-md" type="text" name="codigo" id="codigo" />
                </div><br><br><br><br><br>
                <div class="col-md-4">Sn
                    <input class="form-control input-md" type="text" name="codigo" id="codigo" />
                </div>                                
              </div>     
            </form>
          </div>
        </div>


        <div class="table-responsive">
          <table class="table table-hover">
          <tr>
            <th>Pn/Sn</th>
            <th>Nome</th>
            <th>Quantidade</th>
            <th>Adicionar</th>
          </tr>
        </table>
      </div>

      <footer>
        <p>©  Esquadrão Guará - Seção de Informática  2015</p>
      </footer>
    </div>
    <!-- /container -->
  </body>

</html>

pagina que pego os dados para o autocomplete

<?php
  include 'funcao_conexao.php';

 
$q = strtolower($_GET["q"]);
if (!$q) return;
 
$sql = "SELECT * FROM tb_ferramenta WHERE FrNome LIKE '%$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
	$ccod  = $rs['FrCodigo'];
	$cname = utf8_encode($rs['FrNome']);
	$csn   = utf8_encode($rs['FrSn']);
	echo "$ccod - "."$cname"." - $csn\n";
}
?>


DE ante mao ja agradeco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por clovis.sardinha
      Tenho uma consulta de autocomplete no bd que funciona no servidor local e não roda no servidor da web. 
      Ao enviar a consulta no servidor local  aparece no console :Fetch terminou o carregamento: GET ".../Cidade?cidade=sao%20paulo". A pesquisa é feita normalmente.
      Quando mando a mesma pesquisa para o servidor web(locaweb) aparece no console: Fetch terminou o carregamento: GET "..../Cidade?cidade=sao%2520paul".
      O número 25 aparece só no servidor web. Pelo que pesquisei 25 significa %, ou seja, está duplicando o caractere %. 
      Não consegui utilizar nenhuma função para evitar que isto ocorra. Alguém sabe se há alguma configuração no servidor web que possa ser alterada para evitar essa duplicação?
       
    • Por ILR master
      Salve galera.
       
      Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:.
      Faltam 5 dias, 12:30:00 para inauguração.
       
      Qdo chegar no dia, quero que apenas apareça uma mensagem.
       
      Alguém pode me ajudar?
    • Por clovis.sardinha
      Estou em um impasse pois sei pouco de javascript. Estou fazendo um autocomplete com CI4 e Javascript.
      Consigo gerar, através do controllers/model do CI4 um arquivo em json, mas não consigo retorná-lo para o javascript para poder mostrar as opções para consulta. 
      O console.log mostra que estou obtendo o  json() { [native code] }.
      Segue os dois arquivos para ver se alguém me ajuda.
      //arquivo cidade.js async function carregar_cidade(valor) { if (valor.length >= 3) { //console.log("Pesquisar:" + valor); const dados = fetch('Testes/?cidade='+valor, { method: "get", headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } }); const resposta = (await dados).json; console.log(resposta); var html = "<ul class='list-group position-fixed'>"; html += "<li class='list-group-item'>" + resposta['cid_nome'] + "</li>"; html += "</ul>"; } } <?php //arquivo Testes.php namespace App\Controllers; use App\Models\CidadeModel; /** NÃO MANDAR PARA O SERVIDOR - APENAS TESTES DE FUNÇÕES E OUTROS ELEMENTOS DO CI4 */ class Testes extends BaseController{ protected $tbCidades; public function __construct(){ $this->tbCidades = new CidadeModel(); } public function index(){ $request = \Config\Services::request(); $client = \Config\Services::curlrequest(); $cidades=[]; if($get=$request->getGet()){ $cities=$get['cidade']; $cidadeFiltrada=$this->tbCidades->getCidByName($cities); $cidades= json_encode($cidadeFiltrada); //dd($cidades); } echo view('Testes/testes'); } public function salvar(){ $request = \Config\Services::request(); if($post=$request->getPost()){ dd($post); } } } <!doctype html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <title>Autocomplete</title> </head> <body> <div class="container"> <h1 class="mt-4 mb-4">Formulário</h1> <form class="row g-3"> <div class="col-12"> <label for="cidade" class="form-label">Cidade</label> <input type="text" name="cidade" class="form-control" id="cidade" placeholder="Pesquisar cidade" onkeyup="carregar_cidade(this.value)"> </div> <span ></span> </form> </div> <!-- Optional JavaScript; choose one of the two! --> <!-- Option 1: Bootstrap Bundle with Popper --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <script src="assets/js/cidade.js"></script> </body> </html>
    • Por Danilo - Jesus voltará!
      Olá pessoal, tenho uma div a qual através de um select categorias eu trago dados de empresas do banco, aí preciso clicar nas listagens das empresas e pegar o ID quando clica no checkbox e gravar pelo ajax novamente na session feita no arquivo php tipo um carrinho de compras, que essa parte já tenho... só não to conseguindo pegar os ids gerados dinamicamente no retorno feito do ajax, eles aparecem com F12 ao inspecionar, mas não aceita eu clicar para pegar o ID, acho que é algo de DOM, mas não to sabendo fazer... alguém aí saberia me ajudar como pegar esses ids ao clicar, já que eles vem dinamicamente?
       
      obrigado
×

Informação importante

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