Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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;Carregando comentários...