Skip to content

Instantly share code, notes, and snippets.

@asllanmaciel
Created July 27, 2023 10:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save asllanmaciel/8b3dae4b02db96f622d7f312e91a36f3 to your computer and use it in GitHub Desktop.
Save asllanmaciel/8b3dae4b02db96f622d7f312e91a36f3 to your computer and use it in GitHub Desktop.
Autocompletar input com estados usando AJAX
<style>
#estado-sugestao {
position: absolute;
width: 100%;
height: 100%;
background-color: #fff;
z-index: 1000;
list-style-type: none;
margin: 0;
padding: 0;
}
#estado-sugestao li {
padding: 5px;
cursor: pointer;
}
</style>
<input type="text" id="estado" />
<ul id="estado-sugestao"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
// Quando o usuário começar a digitar no campo de texto
$('#estado').on('keyup', function() {
// Limpa a lista de sugestões
$('#estado-sugestao').empty();
// Busca os estados que começam com o que o usuário digitou
$.ajax({
url: 'estadosBrasileiros.json',
data: {
termo: $(this).val()
},
success: function(resultado) {
// Para cada estado encontrado
$.each(resultado, function(i, estado) {
// Adiciona o estado à lista de sugestões
$('#estado-sugestao').append('<li>' + estado.nome + '</li>');
});
// Seleciona o primeiro estado da lista de sugestões
$('#estado-sugestao li:first-child').prop('selected', true);
// Autocompleta o texto do input com o estado selecionado
$('#estado').val($('#estado-sugestao li:first-child').text());
}
});
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment