Escolar Documentos
Profissional Documentos
Cultura Documentos
1 of 5 02/02/2024, 10:16
jquery - Autocomplete em input dinâmico - Stack Overflow em Português https://pt.stackoverflow.com/questions/408046/autocomplete-em-input...
Bom dia pessoal. Estou tentando implementar autocomplete no input dinamico mas não
funciona. Já teste chamando class ou id e nada.
1
segue o código para que possam me dar uma luz mostrando onde estou errando. Função
Jquery que adiciono linha numa tabela dinamicamente. e a função autocomplete no campo
descri (descricao do produto)
$(document).ready(function(){
});
$(document).on('DOMNodeInserted','.descri', function(){
$(this).autocomplete({
source:'pesquisa_produto.php'
});
});
});
2 of 5 02/02/2024, 10:16
jquery - Autocomplete em input dinâmico - Stack Overflow em Português https://pt.stackoverflow.com/questions/408046/autocomplete-em-input...
<th>Quantidade</th>
<th>Descrição</th>
<th width="5"><a
href="#" class="btn btn-primary btn-insert-field">Adicionar</a></th>
</tr>
</thead>
<tbody id="target"> <!--
aqui aparece a linha da tabela com 2 campos input criados automaticamentes -->
</tbody>
</table>
</div>
3 of 5 02/02/2024, 10:16
jquery - Autocomplete em input dinâmico - Stack Overflow em Português https://pt.stackoverflow.com/questions/408046/autocomplete-em-input...
Troque DOMNodeInserted por focus . Quando o campo, seja criado dinamicamente ou não,
receber o foco, irá ganhar o autocomplete:
0
$(document).on('focus','.descri', function(){
// este if verifica se o campo já tem autocomplete
if( !$(this).hasClass("ui-autocomplete-input") ){
$(this).autocomplete({
source:'pesquisa_produto.php'
});
}
});
Veja um exemplo:
$(function(){
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$(document).on('focus','.descri', function(){
// este if verifica se o campo já tem autocomplete
if( !$(this).hasClass("ui-autocomplete-input") ){
$(this).autocomplete({
source: availableTags
});
}
});
$("#addicionar").on("click", function(){
$("#box").append('<input class="descri">');
});
});
4 of 5 02/02/2024, 10:16
jquery - Autocomplete em input dinâmico - Stack Overflow em Português https://pt.stackoverflow.com/questions/408046/autocomplete-em-input...
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui
/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-
ui.min.js"></script>
Digite "basic": sc
Adicionar input
Assim como sugerido também não funcionou. Estou utilizando a versão ajax.googleapis.com/ajax
/libs/jquery/jqueryui/1.12.1/… e code.jquery.com/ui/1.10.3/jquery-ui.js e ajax.googleapis.com/ajax
/libs/jquery/3.3.1/jquery.min.js – Deadoc 6/09/2019 às 14:09
Estranho. Adicionei um exemplo funcional na resposta. Veja que funciona normal. – Sam 6/09/2019 às
14:21
Aqui comigo não funciona... porque será? E esta linkado corretamente. – Deadoc 6/09/2019 às 16:02
Funciona em campos que não foram adicionados de forma dinâmica? – Sam 6/09/2019 às 16:05
5 of 5 02/02/2024, 10:16