Ir para conteúdo

Arquivado

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

Paulo Roberto Start Corp

Erro ao listar auto complete

Recommended Posts

Boa tarde,

 

estou tentando implementar autocomplete porem estou apanhando muito..

 

com este código eu consigo listar meus dados vindos do PHP. porém a formatação do css neste código não funciona.

$(function () {
// Atribui evento e função para limpeza dos campos
    $('#NOMERAZAO').on('input', limpaCampos);

// Dispara o Autocomplete a partir do segundo caracter
    $("#NOMERAZAO").autocomplete({
        minLength: 1,
        source: function (request, response) {
            $.ajax({
                url: "assets/admin/modulos/servicos/classes/classe.lista.clientes.php",
                dataType: "json",
                data: {
                    acao: 'autocomplete',
                    parametro: $('#NOMERAZAO').val()
                },
                success: function (data) {
                    response(data);
                }
            });
        },
        focus: function (event, ui) {
            $("#NOMERAZAO").val(ui.item.NOMERAZAO);
            carregarDados();
            return false;
        },
        select: function (event, ui) {
            $("#NOMERAZAO").val(ui.item.NOMERAZAO);
            return false;
        }
    })
            .autocomplete("instance")._renderItem = function (ul, item) {
        return $("<p>")
                .append(item.NOMERAZAO)
                .appendTo(ul);
    };

// Função para carregar os dados da consulta nos respectivos campos
    function carregarDados() {
        var busca = $('#NOMERAZAO').val();

        if (busca != "" && busca.length >= 2) {
            $.ajax({
                url: "assets/admin/modulos/servicos/classes/classe.lista.clientes.php",
                dataType: "json",
                data: {
                    acao: 'consulta',
                    parametro: $('#NOMERAZAO').val()
                },
                success: function (data) {
                    $('#CPFCNPJ').val(data[0].CPFCNPJ);
                    $('#TELEFONE').val(data[0].FONE01);
                    $('#EMAIL').val(data[0].EMAIL);
                    $('#IDCLIENTE').val(data[0].ID);
                }
            });
        }
    }

// Função para limpar os campos caso a busca esteja vazia
    function limpaCampos() {
        var busca = $('#NOMERAZAO').val();

        if (busca == "") {
            $('#CPFCNPJ').val('');
            $('#TELEFONE').val('');
            $('#EMAIL').val('');
            $('#IDCLIENTE').val('');
        }
    }
});



Já quando eu uso este outro código com os valores estatísticos do exemplo:

fica perfeito

$(function () {
    $('#NOMERAZAO').autoComplete({
        minChars: 1,
        source: function (term, suggest) {
            term = term.toLowerCase();
            var choices = ['Paulo Roberto Dias Junior', 'AppleScript', 'Asp', 'Assembly', 'BASIC', 'Batch', 'C', 'C++', 'CSS', 'Clojure', 'COBOL', 'ColdFusion', 'Erlang', 'Fortran', 'Groovy', 'Haskell', 'HTML', 'Java', 'JavaScript', 'Lisp', 'Perl', 'PHP', 'PowerShell', 'Python', 'Ruby', 'Scala', 'Scheme', 'SQL', 'TeX', 'XML'];
            var suggestions = [];
            for (i = 0; i < choices.length; i++)
                if (~choices[i].toLowerCase().indexOf(term))
                    suggestions.push(choices[i]);
            suggest(suggestions);
        }
    });
});

eu teria que combinar os 2... más não estou conseguindo.

 

Segue minha busca php

// 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 = conexao($opcoes);

// Verifica se foi solicitado uma consulta para o autocomplete
if ($acao == 'autocomplete'):
    $where = (!empty($parametro)) ? 'WHERE NOMERAZAO LIKE ?' : '';
    $sql = "SELECT * FROM START_CLIENTES " . $where . " LIMIT 0,15";

    $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 * FROM START_CLIENTES ";
    $sql .= "WHERE NOMERAZAO 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;

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.