Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''autocomplete''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 21 registros

  1. vazzoler

    Campo auto complete

    Bom dia, pessoal. Gostaria de saber se alguém pode me auxiliar na criação de um campo autocomplete, semelhante ao deste site (https://gofretes.com.br/), mais precisamente no campo de pesquisa de cidades, onde, ao iniciar a digitação no campo, buscaria no banco de dados e completaria o preenchimento?
  2. Rendrix Alves Schweinsteiger

    autocomplete jquery

    Meu codigo ta autocompletando suave mas, preciso que ele imprima as informações que vai autocompletado alguem pode me dar um exemplo? meu cod: <?php $link = mysqli_connect("localhost", "root", "", "projetomodelo");// conexao com o banco mysqli_select_db($link, "projetomodelo"); $result = mysqli_query($link, "SELECT * FROM tb_produto"); $array = array(); if($result){ while ($row = mysqli_fetch_array($result)){ $product = utf8_encode($row['nome']); array_push($array, $product); } } ?> ;;;;;;;;// algumas partes do formulario // ta td certo por aqui ;; agora o restante do cod?: <input id="tag" value="" > <script type="text/javascript"> $(document).ready(function(){ var n = <?= json_encode($array) ?> $("#tag").autocomplete({ source:n, select:function(event, item){ var params ={ nom: item.item.value
  3. Olá Amigos, Tenho enfrentado uma séria dificuldade ao utilizar o serviço "Autocomplete" do Google Maps API. Estou desenvolvendo um sistema de reserva de transfers(viagens de carro executivo) na qual o usuário informa a origem e destino de sua viagem e o sistema integrado com o Google Maps calcula o preço da viagem em questão . A dificuldade que estou tendo é limitar a exibição dos resultados do Autocomplete para locais restritos ao estado do Rio de Janeiro. Consigo tranquilamente limitar por país, mas para o território do Rio de Janeiro não consegui achar nenhuma função na documentação oficial que me atendesse nessa questão. Segue código do autocomplete. function initialize() { var options = { componentRestrictions: { country : "BR" } }; directionsService = new google.maps.DirectionsService(); var inputFrom = document.getElementById('from'); var autocompleteFrom = new google.maps.places.Autocomplete(inputFrom, options); autocompleteFrom.addListener('place_changed', function() { var place = autocompleteFrom.getPlace(); placeId1 = place.place_id; }); var inputTo = document.getElementById('to'); var autocompleteTo = new google.maps.places.Autocomplete(inputTo, options); autocompleteTo.addListener('place_changed', function() { var place = autocompleteTo.getPlace(); placeId2 = place.place_id; }); } Se alguém souber e puder fazer a gentileza de me auxiliar nessa questão, ficarei bastante agradecido.
  4. Olá Amigos, Tenho enfrentado uma séria dificuldade ao utilizar o serviço "Autocomplete" do Google Maps API. Estou desenvolvendo um sistema de reserva de transfers(viagens de carro executivo) na qual o usuário informa a origem e destino de sua viagem e o sistema integrado com o Google Maps calcula o preço da viagem em questão . A dificuldade que estou tendo é limitar a exibição dos resultados do Autocomplete para locais restritos ao estado do Rio de Janeiro. Consigo tranquilamente limitar por país, mas para o território do Rio de Janeiro não consegui achar nenhuma função na documentação oficial que me atendesse nessa questão. Segue código do autocomplete. function initialize() { var options = { componentRestrictions: { country : "BR" } }; directionsService = new google.maps.DirectionsService(); var inputFrom = document.getElementById('from'); var autocompleteFrom = new google.maps.places.Autocomplete(inputFrom, options); autocompleteFrom.addListener('place_changed', function() { var place = autocompleteFrom.getPlace(); placeId1 = place.place_id; }); var inputTo = document.getElementById('to'); var autocompleteTo = new google.maps.places.Autocomplete(inputTo, options); autocompleteTo.addListener('place_changed', function() { var place = autocompleteTo.getPlace(); placeId2 = place.place_id; }); } Se alguém souber e puder fazer a gentileza de me auxiliar nessa questão, ficarei bastante agradecido.
  5. manolegal

    Autocomplete em input dinâmico

    Bom dia amigos. Realizei diversas pesquisas, porém não consegui resolver o problema. Em campos normais do formulário, o Autocomplete está funcionando normalmente. Não estou conseguindo fazer funcionar em input dinâmico, dentro de uma tabela onde posso inserir diversas linhas. Meu campo: <div id="list" class="row-fluid"> <table class="table" cellspacing="1" cellpadding="1" id="detalhes"> <caption>Detalhes do Documento</caption> <thead> <tr> <th style="text-align:center; background: #FFFF99;">Produto</th> </tr> </thead> <?php for($i=0; $i<count($produto); $i++) { ?> <tbody> <tr> <td><?php $y=$i+1; echo"$y"; ?> <td> <input name="produto[]" id="produto" type="text" size="12" maxlength="10" value="<?php echo "$produto[$i]";?>"> </td> </tr> </tbody> <?php } // Fecha "for" ?> <tfoot> <tr> <td colspan="4"> <button type="button" class="btn-mini btn-primary" onclick="addRowToTable();">Adicionar</button> <button type="button" class="btn-mini btn-danger" onclick="removeRowFromTable();">Remover</button> <button type="button" class="btn-mini btn-success" href="#" data-toggle="modal" data-target="#modal_cad_produto" title="Clique aqui para cadastrar um novo Produto!">Cadastrar Novo Produto</button> </td> </tr> </tfoot> </table> Meu código js para adicionar/remover inputs dinâmicos: <script language="javascript" type="text/javascript"> function addRowToTable() { var tbl = document.getElementById('detalhes'); //var lastRow = tbl.rows.length -1; var lastRow = tbl.rows.length; // if there's no header row in the table, then iteration = lastRow + 1 - //se não houver cabeçalho da linha da tabela, depois iteração lastRow + 1 var iteration = lastRow - 1; //var row = tbl.insertRow(lastRow + 1); // cria outra linha var row = tbl.insertRow(lastRow); // cria outra linha // NÚMERO DA CÉLULA var cellLeft = row.insertCell(0); // insere uma celula a esquerda var textNode = document.createTextNode(iteration); // esquerda cria o numero cellLeft.setAttribute('align', 'center'); cellLeft.setAttribute('class', 'branco'); cellLeft.appendChild(textNode); // fecha a celular da esquerda // right cell (Produto) var cellRight1 = row.insertCell(1); var e1 = document.createElement('input'); cellRight1.setAttribute('align', 'left'); e1.setAttribute('class', 'campo'); e1.setAttribute('type', 'text'); e1.setAttribute('name', 'produto'); e1.setAttribute('id', 'produto'); e1.setAttribute('maxlength', '7'); e1.setAttribute('value', ''); e1.setAttribute('size', '10'); //e1.setAttribute('onkeyup', 'multiplica(' + iteration + ')'); e1.setAttribute('onkeypress', 'return handleEnter(this, event)'); cellRight1.appendChild(e1); function removeRowFromTable() { var tbl = document.getElementById('detalhes'); var lastRow = tbl.rows.length; if (lastRow > 2) tbl.deleteRow(lastRow - 1); } </script> Meu código Autocomplete: <script type="text/javascript"> $(document).ready(function() { $('#detalhes').find('.produto').autocomplete({ source: "ajx_pes_p_nom.php", minLength: 1, }); }); </script> No aguardo Att
  6. Jasilva

    AutoComplete com 2 ou mais campos

    Pessoal, estou montando um autocomplete, onde a partir de um campo o sistema pesquisa e o usuário escolhe o registro desejado e após isso a setença preencha os dados do cargo e o código no campo ao lado. segue codigo teste.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <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> <!--css --> <link rel="stylesheet" type="text/css" href="jquery-autocomplete/jquery.autocomplete.css"/> <link rel="stylesheet" type="text/css" href="jquery-autocomplete/lib/thickbox.css"/> <script type="text/javascript"> $(document).ready(function(){ $("#txtNome").autocomplete("completar.php", { width:510, selectFirst: false }); }); </script> </head> <body> <input type="text" name="codigo" id="codigo" size="10" class="input_forms"/> <input type="text" name="txtNome" id="txtNome" size="60" class="input_forms"/> </body> </html> PHP <? include "../../conexao.php"; $q=strtolower ($_GET["q"]); $sql = "SELECT * FROM tb_cbo WHERE CARGO like '%" . $q . "%'"; $query = mysqli_query($conexao,$sql);// or die ("Erro". mysql_query()); while($reg=mysqli_fetch_array($query)){ //if (srtpos(strtolower($reg['nom_lista']),$q !== false){ echo $reg["CBO"] . ' - ' . $reg["CARGO"]."\n"; // } } ?> Minha ideia era conseguir preencher o campo codigo, não estou conseguindo alguem pode me ajudar?
  7. danicarla

    Autocomplete obrigatório

    Oi gente, tudo bem? Eu montei um autocomplete com PHP e Mysql e Jquery que está funcionando corretamente, mas eu queria que fosse obrigatório o usuário escolher um valor do resultado da busca. Não gostaria de fazer essa validação ao submeter o formulário... Pensei em um usar um campo do tipo select, e incluir uma busca nele.. mas meu banco tem mais de cinco mil registros, acho ruim ficar carregando isso toda vez que carregar a pagina.... Enfim, alguém tem alguma solução?
  8. Lúcio Marques

    Autocomplete em dois input

    Olá, boa noite. Estou usando um autocomplete que funciona perfeitamente, é bem simples e funcional. Mas estou querendo fazer uma modificação. Quando eu digito o nome para buscar, mostrar normalmente, até conseguir mostrar o id junto com o nome. Mas, estou querendo separar o id com o nome, ou seja, quando eu buscar um nome e clicar neste nome para inserir, gostaria que o id e o nome fosse inseridos em campos diferentes. Vou deixar o código abaixo, e agradeço desde já se alguém puder me ajudar. Este é onde busca no banco de dados <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password $db_name="busca"; // Database name $con = mysql_connect($host,$username,$password) or die(mysql_error()); mysql_select_db($db_name, $con) or die(mysql_error()); $q = strtolower($_GET["q"]); if (!$q) return; $sql = "select DISTINCT nome from usuarios where nome LIKE '%$q%'"; $rsd = mysql_query($sql); while($rs = mysql_fetch_array($rsd)) { $cname = $rs['nome']; echo "$cname\n"; } ?> Este insere no campo <?php session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>jQuery Autocomplete Plugin</title> <script type="text/javascript" src="js/jquery-1.4.2.js"></script> <script type='text/javascript' src="js/jquery.autocomplete.js"></script> <link rel="stylesheet" type="text/css" href="js/jquery.autocomplete.css" /> <script type="text/javascript"> $().ready(function() { $("#course").autocomplete("autoComplete.php", { width: 260, matchContains: true, //mustMatch: true, //minChars: 0, //multiple: true, //highlight: false, //multipleSeparator: ",", selectFirst: false }); }); </script> </head> <body> <h2>Autocomplete usando jQuery, Ajax, PHP</h1> <div id="content"> <form autocomplete="off"> <p> Digite um nome: <input type="text" name="course" id="course" /> </p> </form> </div> </body> </html>
  9. Bom dia pessoal. Tenho esse script de busca: $( function($) { $.ui.autocomplete.prototype._renderItem = function (ul, item) { var t = String(item.value).replace( new RegExp(this.term, "gi"), "<strong>$&</strong>"); return $("<li></li>") .data("item.autocomplete", item) .append("<a>" + t + "</a>") .appendTo(ul); }; $( "#p" ).autocomplete({ source: "php/search_palavras.php?id_cidade=<?php echo $id_cidade; ?>", minLength: 2, select: function( event, ui ) { // Set autocomplete element to display the label this.value = ui.item.label; // Store value in hidden field $('#hidden_p').val(ui.item.id); // Prevent default behaviour return false; } }); $( "#p" ).click(function() { $('#hidden_p').val(0); $('#p').val(''); }); }); Na tabela está com "utf8_general_ci" e na página de busca PHP, coloquei um "mysqli_set_charset($config,"utf8");" para não ter problemas de acentuação. Quase tudo está perfeito. O único problema que estou tendo, não sei se é o PHP ou o Jquery, mas, se eu começar uma procura com "aco", vem as respostas: Açougues Sacolões Hortifrutigrangeiros Centrais de Informações Turísticas Atacado e Fabricação de Sacos plásticos Tentei de todas as formas, mas não consigo destacar o "aço" ou "açõ" que estão com cedilha e acentos. Seria possível destacar esses itens também? Obrigado!
  10. Rogerio Pancini

    Fazer select com LIKE e AND ao mesmo tempo

    Bom dia pessoal. Tenho esse script que faz uma busca: $(function($) { $("#loc_menu").autocomplete({ source: "php/search_cidades.php", minLength: 2, select: function(event, ui) { // Set autocomplete element to display the label this.value = ui.item.label; // Store value in hidden field $('#h_l').val(ui.item.id); // Prevent default behaviour return false; } }); $("#loc_menu").click(function() { $('#h_l').val(0); $('#loc_menu').val(''); }); }); /******* Conexão com o bando de dados *******/ include "../Conexao/config.php"; mysqli_select_db($config, $database_config); mysqli_set_charset($config,"utf8"); /******* Conexão com o bando de dados *******/ //get search term $searchTerm = $_GET['term']; //$cidade_uf = $_GET['cidade_uf']; $sql_1 = mysqli_query($config, "SELECT * FROM tb_sub_categorias WHERE sub_categoria LIKE '".$searchTerm."%' ORDER BY sub_categoria ASC") or die(mysqli_error($config)); // LIMIT 5 if(@mysqli_num_rows($sql_1) <= '0'){ //echo "$erro"; $sql_2 = mysqli_query($config, "SELECT * FROM tb_empresas WHERE razao_social LIKE '%".$searchTerm."%' AND cidade_uf = '$cidade_uf' ORDER BY razao_social ASC") or die(mysqli_error($config)); // LIMIT 5 if(@mysqli_num_rows($sql_2) <= '0'){ $output_array[] = array( 'id' => '0' , 'label' => 'Nenhum resultado encontrado' , 'value' => 'Nenhum resultado encontrado' ); }else{ while($r_sql_2 = mysqli_fetch_array($sql_2)){ //$selecao = $r_sql_2['razao_social']; //$data[] = $selecao; $output_array[] = array( 'id' => "co_" . $r_sql_2['id'] , 'label' => $r_sql_2['razao_social'] , 'value' => $r_sql_2['razao_social'] ); } } }else{ while($r_sql_1 = mysqli_fetch_array($sql_1)){ //$selecao = $r_sql_1['sub_categoria']; //$data[] = $selecao; $output_array[] = array( 'id' => "ca_" . $r_sql_1['id'] , 'label' => $r_sql_1['sub_categoria'] , 'value' => $r_sql_1['sub_categoria'] ); } } //return json data echo json_encode($output_array); mysqli_close($config); Precisaria refinar esse busca. Estou tentando fazer dessa forma: $sql_1 = mysqli_query($config, "SELECT * FROM tb_sub_categorias WHERE sub_categoria LIKE '".$searchTerm."%' AND id_sub_cat IN (1306, 1405) ORDER BY sub_categoria ASC") or die(mysqli_error($config)); Tenho uma tabela de categorias e outra de clientes/categorias. Gostaria que o script buscasse as categorias que estão atreladas aos clientes cadastrados, ao invés de buscar todas as categorias. Todas as tentativas que fiz não fazem a pesquisa refinar. Obrigado.
  11. Boa tarde! Gostaria da ajuda de vocês, fiz um autocomplete na tela de cadastros de chamados, para quando o usuário estiver cadastrando um um chamado, se for cliente novo ou existente, se ele digitar Maria e tiver 3 Marias cadastradas ele irá selecionar a Maria que se refere o chamado, selecionando a Maria existente quando ele pressionar para o próximo campo eles serão autopreenchidos com as informações do cliente que está na base de dados, porém quando o cliente não existir apenas dar continuidade ao cadastro. O Problema do meu código é: Tenho cadastrado no cadastro de clientes: Cliente1: Maria Santos Cliente 2: Maria Virginia Se eu selecionar Maria Virginia ele trás os dados tanto da Maria Santos quanto da Maria Virginia,sendo que se eu selecionei Maria Virginia não tem por que ele trazer dados de outro cliente certo?! segue script Crontroller: Controller [HttpGet] public ActionResult Index() { return View(); } [HttpPost] public JsonResult Index(string Prefix) { ClienteAplicacao appCliente = new ClienteAplicacao(); var ListarCliente = appCliente.ListaTodos(); var ClienteNome = (from N in ListarCliente where N.Nome.StartsWith(Prefix) select new { N.Nome, N.Id, N.Email }); return Json(ClienteNome, JsonRequestBehavior.AllowGet); } public JsonResult ClienteList(string Id) { ClienteAplicacao appCliente = new ClienteAplicacao(); var ListaCliente = appCliente.ListaTodos(); var resultado = (from c in ListaCliente where (c.Nome.ToLower().Contains(Id.ToLower())) select c).ToList(); return Json(resultado, JsonRequestBehavior.AllowGet); } Jquery $(document).ready(function () { $("#Nome").autocomplete({ source: function (request, response) { $.ajax({ url: "/Autocom/Index", type: "POST", dataType: "json", data: { Prefix: request.term }, success: function (data) { response($.map(data, function (item) { return { label: item.Nome + ", " + item.Email, value: item.Nome }; //return data; })) $('#Nome').blur(function () { var aChk = document.getElementsByName('Nome'); var texto = texto + (aChk.value) $('#lbairro').val(texto); alert(texto); $.getJSON('/Autocom/ClienteList/' + $('#Nome').val(), function (data) { var items = ''; $.each(data, function (i, cliente) { items += 'E-mail:<input type="email" id="Email" name="Email" value="' + cliente.Email + '" class="txtInputMax" />'; }); $('#rData').html(items); }); }) } }) }, }); }) Formulário <input id="NomeCliente" name="NomeCliente" type="hidden" value="" /> <div> Nome: <input name="Nome" id="Nome" type="text" class="txtInputMax" /> </div> <div class="editor-field" id="rData"> E-mail: <input name="Email" id="Email" type="text" class="txtInputMax" /> </div> Agradeço quem puder ajudar!
  12. Deltazero

    Problema ao receber valor em autocomplete

    Boa Noite Pessoal, Estou com um problema bem chatinho, sou novato em php e js, e estou desenvolvendo um sisteminha para o meu negócio, este sistema, verificaria o valor que eu digitaria no input e preencheria os outros campos caso esteja no db, para verificar o cadastro e os pedidos dos clientes, até a parte do cadastro foi tranquilo, os inputs receberam os valores pelas IDs, o problema está sendo na hora de verificar se o cliente selecionado possui pedidos no db, o que imaginei que poderia fazer é que quando o campo (input text) recebesse o valor do db ele automaticamente passaria este valor para um variável e faria a verificação com o db, o problema é que não consigo de jeito nenhum que essa variavel receba este valor logo que o campo é preenchido, assim o sistema não reconhece a variável para verificar e nem faz de forma automatica como o autocomplete do jquery ui, vou passar aqui o código para melhor compreensão. <?php include "conecta.php"; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Seven Seas - V1</title> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css"> </head> <body> <div id="tabs"> <ul> <li><a href="#tabs-1">Clientes</a></li> <li><a href="#tabs-2">Cadastro</a></li> <li><a href="#tabs-3">Novos Pedidos</a></li> </ul> <div id="tabs-1"> <div class='container'> <br> <div class="row"> <div class="form-group col-md-6 col-md-offset-3"> <input type="text" class="form-control" id="busca" placeholder="Nome do Cliente"> </div> </div> <header class="row"> <h2 class='text-center text-danger'>Detalhes do Cliente</h2> </header> <br> <div class="row"> <form> <div class="form-group col-md-6"> <label for="nomec">Nome Completo</label> <input type="text" class="form-control" id="nome" name="nome"> </div> <div class="form-group col-md-3"> <label for="cpf">CPF</label> <input type="text" class="form-control" id="cpf"> </div> <div class="form-group col-md-3"> <label for="Telefone">Telefone</label> <input type="text" class="form-control" id="telefone"> </div> <div class="form-group col-md-6"> <label for="endereco">Endereço (ex. Rua, Av...)</label> <input type="text" class="form-control" id="endereco"> </div> <div class="form-group col-md-3"> <label for="bairro">Bairro</label> <input type="text" class="form-control" id="bairro"> </div> <div class="form-group col-md-3"> <label for="cidade">Cidade</label> <input type="text" class="form-control" id="cidade"> </div> <div class="form-group col-md-3"> <label for="email">E-Mail</label> <input type="text" class="form-control" id="email"> </div> <div class="form-group col-md-3"> <label for="credito">Crédito</label> <input type="text" class="form-control" id="credito"> </div> <div class="form-group col-md-3"> <label for="status">Status</label> <input type="text" class="form-control" id="status"> </div> <div class="form-group col-md-3"> <label for="data_cadastro">Data de Cadastro</label> <input type="text" class="form-control" id="data_cadastro"> </div> </form> </div> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Últimos Pedidos</h3> </div> <div class="panel-body"> ????????? </div> </div> </div> </div> <div id="tabs-2"> <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p> </div> <div id="tabs-3"> <p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p> <p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p> </div> </div> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery-ui.min.js"></script> <script type="text/javascript" src="js/custom2.js"></script> <script> $( function() { $( "#tabs" ).tabs(); } ); </script> </body> </html> $(function() { // Atribui evento e função para limpeza dos campos $('#busca').on('input', limpaCampos); // Dispara o Autocomplete a partir do segundo caracter $( "#busca" ).autocomplete({ minLength: 2, source: function( request, response ) { $.ajax({ url: "consulta2.php", dataType: "json", data: { acao: 'autocomplete', parametro: $('#busca').val() }, success: function(data) { response(data); } }); }, focus: function( event, ui ) { $("#busca").val( ui.item.nomec ); carregarDados(); return false; }, select: function( event, ui ) { $("#busca").val( ui.item.nomec ); return false; } }) .autocomplete( "instance" )._renderItem = function( ul, item ) { return $( "<li>" ) .append( "<a><b>Cliente: </b>" + item.nomec + "</a><br>" ) .appendTo( ul ); }; // Função para carregar os dados da consulta nos respectivos campos function carregarDados(){ var busca = $('#busca').val(); if(busca != "" && busca.length >= 2){ $.ajax({ url: "consulta2.php", dataType: "json", data: { acao: 'consulta', parametro: $('#busca').val() }, success: function( data ) { $('#nome').val(data[0].nomec); $('#cpf').val(data[0].cpf); $('#telefone').val(data[0].telefone); $('#endereco').val(data[0].endereco); $('#bairro').val(data[0].bairro); $('#cidade').val(data[0].cidade); $('#email').val(data[0].email); $('#credito').val(data[0].credito); $('#status').val(data[0].status); $('#data_cadastro').val(data[0].data_cadastro); } }); } } // Função para limpar os campos caso a busca esteja vazia function limpaCampos(){ var busca = $('#busca').val(); if(busca == ""){ $('#nome').val(''); $('#cpf').val(''); $('#telefone').val(''); $('#endereco').val(''); $('#bairro').val(''); $('#cidade').val(''); $('#email').val(''); $('#credito').val(''); $('#status').val(''); $('#data_cadastro').val(''); } } }); <?php // Dados da conexão com o banco de dados define('SERVER', 'localhost'); define('DBNAME', 'ssv1'); define('USER', 'root'); define('PASSWORD', ''); // Recebe os parâmetros enviados via GET $acao = (isset($_GET['acao'])) ? $_GET['acao'] : ''; $parametro = (isset($_GET['parametro'])) ? $_GET['parametro'] : ''; // Configura uma conexão com o banco de dados $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'); $conexao = new PDO("mysql:host=".SERVER."; dbname=".DBNAME, USER, PASSWORD, $opcoes); // Verifica se foi solicitado uma consulta para o autocomplete if($acao == 'autocomplete'): $where = (!empty($parametro)) ? 'WHERE nomec LIKE ?' : ''; $sql = "SELECT nomec FROM clientes " . $where; $stm = $conexao->prepare($sql); $stm->bindValue(1, '%'.$parametro.'%'); $stm->execute(); $dados = $stm->fetchAll(PDO::FETCH_OBJ); $json = json_encode($dados); echo $json; endif; // Verifica se foi solicitado uma consulta para preencher os campos do formulário if($acao == 'consulta'): $sql = "SELECT nomec, cpf, telefone, endereco, bairro, cidade, email, credito, status, DATE_FORMAT(data_cadastro, '%d/%m/%Y') AS data_cadastro FROM clientes "; $sql .= "WHERE nomec LIKE ? LIMIT 1"; $stm = $conexao->prepare($sql); $stm->bindValue(1, $parametro.'%'); $stm->execute(); $dados = $stm->fetchAll(PDO::FETCH_OBJ); $json = json_encode($dados); echo $json; endif;
  13. inezboldrin

    Formulário usando autocomplete

    Olá galera! Estou estudando php, e tenho que fazer um projeto de um formulário com autocomplete + php + ajax + mysql. E consiste em criar um formulário que vai buscar a matrícula do cliente no banco de dados e preencher as informações nos devidos campos. E com pesquisas na internet, consegui desenvolver o código, mas ele não está buscando as informações e preenchendo os campos. esse é o arquivo function.php <?php include_once ('conecta_mysql.inc'); function retorna( $MATRIC, $db ) { $sql = "SELECT `DTADM`, `NOMSOCDEP`, `TIPOSOC`, `DTNASC` FROM `DBWEBCAD` WHERE `MATRIC` = '{$MATRIC}' "; $query = $db->query( $sql ); $arr = Array(); if( $query->num_rows ) { while( $dados = $query->fetch_object() ) { $arr['DTADM'] = $dados->cDadm; $arr['NOMSOCDEP'] = $dados->tNome; $arr['TIPOSOC'] = $dados->tSoc; $arr['DTNASC'] = $dados->tNasc; } } else $arr['tNome'] = 'Não encontrado'; return json_encode( $arr ); } if( isset($_GET['MATRIC']) ) { $db = new mysqli('localhost', 'inezb', '514943', 'clientes'); echo retorna( filter ( $_GET['MATRIC'] ), $db ); } function filter( $var ){ return $var; } ?> autoComplete.php (Esse arquivo lista as matrículas referentes aos clientes) <?php $host="localhost"; $username="inezb"; $password="514943"; $db_name="clientes"; $con = mysql_connect($host,$username,$password) or die(mysql_error()); mysql_select_db($db_name, $con) or die(mysql_error()); $q = strtolower($_GET["q"]); if (!$q) return; $sql = "select DISTINCT MATRIC from DBWEBCAD where MATRIC LIKE '%$q%'"; $rsd = mysql_query($sql); while($rs = mysql_fetch_array($rsd)) { $cmat = $rs['MATRIC']; $cname = $rs ['NOMSCODEP']; echo "$cmat\n", "$cname\n"; } ?>
  14. sacjamm

    Autocomplete em Campos din}amico

    Olá pessoal, estou precisando muito da ajuda de vocês, com um sistema de autocomplete e campos dinamicos, meu autocomplete não funciona a partir do segundo campo dinâmico nem eu deixando de utilizar as tags id e substituindo por classes, vejam por favor: <script> jQuery(document).ready(function () { jQuery('.produto').autocomplete("<?= $base ?>/scripts/funcoes_produto_nfe.php", { matchContains: true, selectFirst: false }); var campos_max = 20; //max de 10 campos var x = 1; // campos iniciais jQuery('#add_field').click(function (e) { e.preventDefault(); //prevenir novos clicks if (x < campos_max) { jQuery('#listas').append('<div>\<div class="row"><div class="col-md-6 form-group">\<label class="control-label" for="te">Produto/ Serviço (*)</label><br>\ <input type="text" name="item_nfe_produto_id[]" class="form-control produto" id="produto" required="">\</div>\<div class="col-md-4 form-group"><label class="control-label" for="r">Quantidade</label><br>\ <input type="number" min="0" name="item_nfe_quantidade[]" class="form-control" id="qtd" value="1">\ </div><a href="#" class="remover_campo btn btn-danger">Remover</a>\</div>\ </div>'); x++; } }); // Remover o div anterior jQuery('#listas').on("click", ".remover_campo", function (e) { e.preventDefault(); jQuery(this).parent('div').remove(); x--; }); }); </script> <div id="listas" class="panel-body"> <div class="row"> <div class="col-md-6 form-group"> <label class="control-label" for="produto"><span class="add-on">Produto/ Serviço (*)</span></label><br> <input type="text" name="item_nfe_produto_id[]" class="form-control produto" id="" required=""> </div> <div class="col-md-4 form-group"> <label for="qtd" class="control-label">Quantidade</label> <div class="input-group input-group-sm"> <input type="number" min="0" name="item_nfe_quantidade[]" class="form-control" id="qtd" value="1"> <span class="input-group-btn"> <button type="submit" class="btn btn-primary btn-flat" id="add_field"><i class="fa fa-plus"></i> Add produto e quantidade</button> </span> </div> </div> </div> </div> Preciso fazer funcionar utilizando este código, alguem disponivel para ajudar? Preciso que o autocomplete funcione em todos os campos
  15. Jeraldo Setefuz

    Chamar Autocomplete em TextArea

    Boa Noite Eu sou bem iniciante em Javascript, não sei muita coisa. Mas estou desenvolvendo um sistema de chamados em PHP + Mysql. Entao eu tenho em uma página que o usário consegue inserir um comentário em seu chamado. Só que gostaria que qndo ele digitasse @@ aparecesse uma lista de autocomplete dos usuário cadastros no banco. Tipo o facebook que ele vai puxando os usuário. <div class="widget-header"> <i class="icon-list-alt"></i> <h3>Chamado Número <?php echo $id;?></h3> </div> <!-- /widget-header --> <div class="widget-content"> <?php mostraChamado($id); ?> <?php mostraComentarios($id); ?> </div> </div> <div class="widget-header"> <i class="icon-comments-alt"></i> <h3> Incluir Novo Comentário </h3> </div> <div class="widget-content"> <div class="tab-pane active" id="formcontrols"> <form id="chamado" class="form-horizontal" method="post" action="" enctype="multipart/form-data"> <div class="control-group"> <label class="control-label">Descrição</label> <div class="controls"> <textarea type="text" class="span10" id="comentario" name="comentario" rows="5" required="true"/></textarea> </div> <!-- /controls --> </div> <div class="control-group"> <label class="control-label">Arquivos</label> <div class="controls"> <input type= file multiple name="arquivo[]" id="arquivo[]"/> <p class="help-block">Para selecionar mais arquivos, pressione CTRL</p> </div> <!-- /control s --> </div> <!-- /control-group --> <div class="form-actions"> <button type="submit" class="btn btn-primary" name="incluir" id="incluir" value="apontar">Incluir Novo Comentário</button> </div> </form> Entao eu gostaria dentro desse textearea fazer isso. Eu tentei dessa forma mas só quando aperta f10: <script src="js/signin.js"></script> <script src="js/tags.js"></script> <script type="text/javascript"> $('#usuario').on('keydown', function(event) { // também pode usar keyup if(event.keyCode === 121) { var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" ]; $( "#aa" ).autocomplete({ source: availableTags }); } }); </script> <script type="text/javascript"> </script> Só que não faz nada, mas se eu tiro o pressionar o F10 = 121 dai ele funciona e mostra a lista. Alguém conseguiria me ajudar? Obrigado
  16. wislan10

    Problema com .autocomplete do jquery

    Boa Tarde, Ai quem me ajuda nessa ... To com um problema com .autocomplete do jquery, quero pegar um campo id="agenda" com a data, só esta funcionando quando retiro id="agenda". <input type="text" id="agenda" class="j_autocomplete" name="search"/> Meu script ta assim: $(function(){ $.datetimepicker.setLocale('pt'); $('[url=https://www.facebook.com/hashtag/agenda?source=feed_text][color=#627aad]‪#‎[/color]agenda‬[/url]').datetimepicker({ }); //autocomplete var apresenta = $('.agendaobrigatoriar'); apresenta.hide().html('<li style="color:White">Aguarde, Carregando...</li>'); $('.j_autocomplete').autocomplete({ //source: resultado //source: 'php/completar.php' source: 'ajax/controller.php?acao=completar', select: function(event, ui){ var pegar = ui.item.data_aula; retornadados(pegar); }, change: function( dados ){ retornadados( $(this).val() ); } }); function retornadados( dados ){ $.ajax({ url: 'ajax/controller.php', data: 'acao=pesquisar&valor='+dados, success: function( resposta ){ apresenta.fadeTo(500,0.5,function(){ $(this).html(resposta).fadeTo(500,1); }); } }); } });
  17. avallon-azevedo

    Autocomplete com plugin JS e JSON

    Bom dia amigos programadores, espero que estejam todos bem. Preciso de uma ajuda urgente para criar um sistema de autocomplete para um projeto que estou fazendo. Funciona assim: é um sistema de busca de passagens aéreas, no estilo decolar.com . Mas um pouco mais simples. O usuário começa a digitar o local que quer de origem, aí aparece o sistema de autocomplete. Esse sistema de autocomplete está sendo feito com o plugin jQuery typeahead (https://twitter.github.io/typeahead.js/). E os locais estão sendo puxados de um json (que vou por logo abaixo). Quando o usuário clica no local que ele escolher, existe dois campos do tipo hidden, um para o slug do local e outro para o ID do local, todos puxados do json. Assim, quando o usuário clica, automaticamente o formulário preenche os dois campos abaixo. O mesmo acontece quando o usuário preenche o o local de volta - funciona exatamente do mesmo jeito. O formulário passa as informações via GET. Segue os códigos: <form method="GET" id="homeSearch" data-base-action="/es/buscar/city_1876/city_1794/" novalidate="novalidate"> <ul class="lp-holder-fields"> <li class="lp-column full"> <label class="lb-form" for="originPlace">Origen:</label> <input id=" " name="searchBox[originPlace]" placeholder="Seleccione su origen" type="text" tabindex="1" autocomplete="off" class="input_lup searchInput" value=""> <input id="originPlaceId" type="hidden" value=""> <input id="originPlaceSlug" type="hidden" value=""> </li> <li class="lp-column full"> <label class="lb-form" for="destinationPlace">Destino:</label> <input id="destinationPlace" name="searchBox[destinationPlace]" placeholder="Seleccione su destino" type="text" tabindex="2" class="input_lup searchInput" autocomplete="off" value=""> <input id="destinationPlaceId" type="hidden" value=""> <input id="destinationPlaceSlug" type="hidden" value=""> </li> <li class="lp-column full"> <label class="lb-form" for="departureDate">Salida:</label> <input type="text" placeholder="Fecha de ida" id="departureDate" name="searchBox[departureDate]" class="datepicker input_date searchInput fixIE_searchDepartureHome" tabindex="3" autocomplete="off" value=""> <input type="hidden" id="departureDateHdn" name="ida" value=""> </li> <li class="lp-column full"> <label class="lb-form" for="returnDate">Regreso <small>(opcional)</small>:</label> <input type="text" placeholder="Opcional" id="returnDate" name="searchBox[returnDate]" class="datepicker input_date searchInput" tabindex="4" autocomplete="off" value=""> <input type="hidden" id="returnDateHdn" name="volta" value=""> </li> <li> <button tabindex="5" id="btn-search" class="search_tickets"><span class="i_search"></span><span>Buscar Boletos</span></button> </li> </ul> </form> Esse é o formulário (o projeto é em espanhol). Eu tenho o input "originPlace", que é onde o usuário preenche o local de origem e terá o autocomplete. Logo abaixo tem os dois inputs hidden que puxarão o slug e o ID desse local que o usuário escolher. O mesmo vale para o input "destinationPlace". Os outros inputs são para escolher data e, no momento, está tudo certo. Segue o código javaScript junto com o JSON. $(function() { try { $.datepicker.setDefaults($.datepicker.regional['es']); } catch (e) {} var originsSlugs = []; var $originPlace = $('#originPlace'); var $destinationPlace = $('#destinationPlace'); var placeListByName = [{ "name": "Terminal,\x20Abasolo,\x20GTO", "slug": "abasolo\x2Dgto", "id": 5000, "isGroup": "" }, { "name": "Aeropuerto,\x20Guadalajara,\x20JAL", "slug": "aeropuerto\x2Dguadalajara\x2Djal", "id": 5001, "isGroup": "" }, { "name": "Aeropuerto\x20terminal\x201,\x20Ciudad\x20de\x20M\u00E9xico,\x20DF", "slug": "aeropuerto\x2Dmexico\x2Dterminal\x2D1\x2Dciudad\x2Dde\x2Dmexico\x2Ddf", "id": 5003, "isGroup": "" }, { "name": "Aeropuerto\x20terminal\x202,\x20Ciudad\x20de\x20M\u00E9xico,\x20DF", "slug": "aeropuerto\x2Dmexico\x2Dterminal\x2D2\x2Dciudad\x2Dde\x2Dmexico\x2Ddf", "id": 5004, "isGroup": "" }, { "name": "Terminal,\x20Aguascalientes,\x20AGS", "slug": "aguascalientes\x2Dags", "id": 5005, "isGroup": "" }, { "name": "Terminal,\x20Ahuacatl\u00E1n\x20de\x20Guadalupe,\x20QRO", "slug": "ahuacatlan\x2Dde\x2Dguadalupe\x2Dqro", "id": 5006, "isGroup": "" },]; var hashTable = {}; var orderedPlaceList = {}; for (var x = 0; x < placeListByName.length; x++) { orderedPlaceList[x] = placeListByName[x].name; hashTable[placeListByName[x].name] = placeListByName[x]; } var originPlaceNames = _.uniq(_.flatten(_.values(orderedPlaceList))) try { var originPlaceSlug = $.trim($('#originPlaceSlug').val()), destinationPlaceSlug = $.trim($('#destinationPlaceSlug').val()); if (originPlaceSlug) { var originPlaceSlugEntity = _.findWhere(placeListByName, { slug: originPlaceSlug }); if (!originPlaceSlugEntity) { $('#originPlace').val(''); $('#originPlaceId').val(''); $('#originPlaceSlug').val(''); } } if (destinationPlaceSlug) { var destinationPlaceSlugEntity = _.findWhere(placeListByName, { slug: destinationPlaceSlug }); if (!destinationPlaceSlugEntity) { $('#destinationPlace').val(''); $('#destinationPlaceId').val(''); $('#destinationPlaceSlug').val(''); } } } catch (e) {} var typeaheadSorter = function(items) { var originalPlaces = _.map(items, function(item) { return hashTable[item]; }); var orderedItemsByIsGroup = _.sortBy(originalPlaces, function(originPlace) { return originPlace.isGroup === '' ? 1 : 0; }); return _.pluck(orderedItemsByIsGroup, 'name'); } $originPlace.typeahead({ source: originPlaceNames, matcher: function(item) { var cleanItem = removeDiacritics(item).toLowerCase(); var cleanQuery = removeDiacritics(this.query).toLowerCase(); var result = (cleanItem.indexOf(cleanQuery) === 0 || cleanItem.search(cleanQuery) >= 0); return result; }, updater: function(item) { var city = null; if ($.trim(item) !== '') { city = _.findWhere(placeListByName, { name: item }); } if (city) { $('#originPlaceId').val(city.id); $('#originPlaceSlug').val(city.slug); } else { $('#originPlaceId').val(0); $('#originPlaceSlug').val(''); $(this).val(''); } return item; }, sorter: typeaheadSorter }); $destinationPlace.typeahead({ source: originPlaceNames, matcher: function(item) { var cleanItem = removeDiacritics(item).toLowerCase(); var cleanQuery = removeDiacritics(this.query).toLowerCase(); var result = (cleanItem.indexOf(cleanQuery) === 0 || cleanItem.search(cleanQuery) >= 0); return result; }, updater: function(item) { var city = null; if ($.trim(item) !== '') { city = _.findWhere(placeListByName, { name: item }); } if (city) { $('#destinationPlaceId').val(city.id); $('#destinationPlaceSlug').val(city.slug); } else { $('#destinationPlaceId').val(0); $('#destinationPlaceSlug').val(''); $(this).val(''); } return item; }, sorter: typeaheadSorter, header: "teste" }); var getDestinations = function(city) { if (window.isAutoCompleteEnabled) { var adjacencylist = $.ajax({ url: "/es/adjacencylistplace", method: "GET", data: { "parameter": "departure", "placeId": city.id }, dataType: "json" }); adjacencylist.done(destinationList); } }; var originPlaceHandler = function() { var $this = $(this); var resultOriginPlaceName = $this.val(); if (!resultOriginPlaceName) { return false; } var city = null; if ($.trim(resultOriginPlaceName) !== '') { city = _.findWhere(placeListByName, { name: resultOriginPlaceName }); } if (city) { if (city.isGroup == "1") { $('#isGroup').val(0); } $('#originPlaceId').val(city.id); $('#originPlaceSlug').val(city.slug); getDestinations(city); } else { $('#originPlaceId').val(0); $('#originPlaceSlug').val(''); $(this).val(''); } }; var destinationList = function(ids) { var routesList; routesList = routesToPlacesList(ids).sort(); $destinationPlace.typeahead().data('typeahead').source = routesList; }; var routesToPlacesList = function(routesList) { var placesList, placeListId; placeListId = _.indexBy(placeListByName, 'id'); placesList = _.map(routesList, function(route) { if (typeof placeListId[route.arrival] !== 'undefined') { return placeListId[route.arrival].name; } }); originsSlugs = _.map(routesList, function(route) { return { "departure_slug": route.departure_slug, "id": route.arrival }; }); return placesList; }; $originPlace.bind('blur', originPlaceHandler); $destinationPlace.bind('blur', function() { var cityName = $(this).val(), city = null; if (cityName !== '') { city = _.findWhere(placeListByName, { name: cityName }); } if (city) { if (window.isAutoCompleteEnabled) { var slugGroup = _.findWhere(originsSlugs, { id: city.id }); if ($('#originPlaceSlug').val() != slugGroup.departure_slug) { $('#isGroup').val(1); } $('#originPlaceSlug').val(slugGroup.departure_slug); } if (city.isGroup == "1") { $('#isGroup').val(0); } $('#destinationPlaceId').val(city.id); $('#destinationPlaceSlug').val(city.slug); } else { $('#destinationPlaceId').val(0); $('#destinationPlaceSlug').val(''); $(this).val(''); } }); }); Logo no começo temos o json com as informações dos locais etc. Coloquei apenas alguns de exemplo para não estender tanto o código. Na parte de baixo temos o código que faz funcionar a passagens dos dados para o input hidden quando o usuário seleciona o local e também o código do autocomplete. No momento está funcionando perfeitamente - o problema é que eu preciso fazer uma alteração nesse código que não estou conseguindo. Eu preciso separar a exibição do autocomplete em dois - em Cidades (Ciudades) e Aeroportos (Aeropuertos). Lembrando que estou usando o plugin typeahead. Basicamente eu preciso fazer o mesmo que está nesse link (https://twitter.github.io/typeahead.js/examples/) lá na parte de "Multiple Datasets". O problema é que não consigo de jeito nenhum fazer isso funcionar. Já tentei vários exemplos e já estou desesperado. Alguém pode me ajudar, por favor? Agradeço de todo coração!
  18. Bom dia, olha eu aqui de novo com mais um problema. Isso que dá aprender coisas novas né. Com códigos mais bem estruturados vem novos erros :v É o seguinte, tenho meu controller Index.php para renderizar minhas páginas <?php namespace App\Controllers; use SON\Controller\Action; use SON\DI\Container; class Index extends Action { public function home() { $this->render('home'); } public function business() { $this->render('business'); } } Tenho o meu conteúdo que faz a gestão de dependência da conexão com o banco de dados <?php namespace SON\DI; class Container { public static function getClass($name) { $str_class = "\\App\\Models\\" . ucfirst($name); $class = new $str_class(\App\Init::getDb()); return $class; } } E por fim a classe Table que faz as consultas e gerencia toda essa comunicação com o banco de dados <?php namespace SON\DB; abstract class Table { protected $db; protected $table; public function __construct(\PDO $db) { $this->db = $db; } public function fetchAll() { $query = "SELECT * FROM {$this->table}"; return $this->db->query($query); } public function find($param, $valueParam) { $stmt = $this->db->prepare("SELECT * FROM {$this->table} WHERE {$param} :{$param}"); $stmt->bindParam(":{$param}", $valueParam); $stmt->execute(); $res = $stmt->fetch(); return $res; } } Eu preciso ir no gastro e esse problema ta me deixando de cabelo em pé. Ao tentar retornar um dos métodos da minha classe Table no meu controller, ele simplesmente não encontra sugestões para os meus métodos o que me leva a acreditar que deu ruim =/ public function home() { $test = Container::getClass("MyClass"); $test->no_sugestions; // Não funciona a chamada de nenhum dos dois métodos da classe Table $this->render('home'); } Como disse esse mundo é um pouco novo pra mim, mas não menos fascinante. Posso estar deixando passar alguma coisa aqui ou ali que meus olhos de aprendiz não me deixam ver então conto com a sapiência de vocês pra me ajuda :) É um mini sistema e se precisarem do restante do código é só falar mas, basicamente, tudo funciona até aqui, com exceção desse problema apresentado.
  19. JamileMaia

    Problemas com auto complete

    Pessoal, estou tentando fazer um campo com autocomplete. Porém, ele faz a consulta e até imprime no console, mas não mostra na tela, aparecem só as linhas aonde deveriam sair as informações. Alguém sabe como solucionar o problema??? Além disso, gostaria de setar o ID de cliente ao cadastrar,pode ser em um input hidden somente pra passar o valor para a servlet. Alguém sabe fazer? JSP <script type="text/javascript"> $(function() { $("#cliente").autocomplete({ source : function(request, response) { $.ajax({ url : "BuscarClienteServlet", dataType : 'json', data : request, success : function(data) { if (typeof Array.prototype.forEach != 'function') { Array.prototype.forEach = function(callback) { for (var i = 0; i < this.length; i++) { callback.apply(this, [ this[i], i, this ]); } }; } var values = data; var newArray = new Array(values.length); var i = 0; values.forEach(function(entry) { var newObject = { label : entry.name }; newArray[i] = newObject; i++; }); response(newArray); } }); }, minLength : 1 }); }); </script> O CAMPO: <div class="form-group"> <label class="col-md-2 control-label">*Cliente</label> <div class="col-md-8"> <div class="input-group input-icon right"> <span class="input-group-addon"> <i class="fa"></i> </span> <input class="form-control1" type="text" placeholder="Cliente" name="cliente" id="cliente"> </div> </div> </div> BuscarClienteServlet package classes.apresentacao.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import classes.persistencia.dao.ClienteDAO; import classes.persistencia.dto.Cliente; public class BuscarClienteServlet extends HttpServlet { private static final long serialVersionUID = 1L; public BuscarClienteServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String text = request.getParameter("term"); ClienteDAO clienteDAO = new ClienteDAO(); try { Cliente cliente1 = new Cliente(); cliente1.setNome(text); ArrayList<Cliente> clientes = clienteDAO.buscarClienteLike(cliente1); System.out.println(clientes.get(0).getNome()); for (Cliente cliente : clientes) { System.out.println(cliente.getNome()); } String searchResult = new Gson().toJson(clientes); PrintWriter writer = response.getWriter(); writer.write(searchResult); } catch (Exception e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } DAO public ArrayList<Cliente> buscarClienteLike(Cliente cliente) throws SQLException { ArrayList<Cliente> clientes = new ArrayList<Cliente>(); PreparedStatement ps = null; ResultSet rs = null; ps = conexao .obterConexao() .prepareStatement( "SELECT * FROM `banco_salao`.`cliente` c, `banco_salao`.`pessoa`p WHERE `c`.`pessoa_idPessoa` = `p`.`idPessoa` AND nome LIKE ?"); ps.setString(1, "%" + cliente.getNome() + "%"); rs = ps.executeQuery(); while (rs.next()) { cliente.setIdCliente(rs.getInt("idCliente")); cliente.setNome(rs.getString("nome")); clientes.add(cliente); } conexao.fecharConexao(); return clientes; } }
  20. lucas70770

    Autocomplete com Jquery e MySQL

    Ola, eu já pesquisei bastante esse titulo e vi bastante videos, mais cada vez que faço na pratica não da certo. Todas tentativas se usava o Json e o Ajax mais nos testes onde eu enceria os valores para o autocomplete dava certo mais na hora de resgatar valores do Banco de Dados nunca da certo, auguem pode me mandar um link de um site que mostra um que funcione... Se poder ajudar fico Grato...
  21. marcosmigueloliveira

    Auto Complete selecionando os dados e montar em imputs

    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
×

Informação importante

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