Estoy intentando que jQueryUI Autocompletar se active en elementos de entrada de formulario creados dinámicamente, pero no está funcionando. He intentado utilizar keyup.autocomplete y keydown.autocomplete como eventos de vinculación en $ .live(), pero es vinculante para los nuevos elementos, solo los que ya están en la página.¿Cómo puedo agregar la autocompletar de jquery ui a un elemento creado dinámicamente?
Pruebe el código here (intente escribir "ava" en la primera entrada, luego haga clic en "Agregar una entrada" y escriba lo mismo en la nueva entrada).
JavaScript:
$(function() {
$("input#addButton").click(function() {
$("input.searchInput:last").clone(true).appendTo($(this).closest("form"));
$("input.searchInput:last").val("");
})
$("input.searchInput").live("keydown.autocomplete", function() {
$(this).autocomplete({
source: [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
],
minLength: 2
});
})
});
HTML:
<form name="myForm" method="post">
<input id="addButton" name="addButton" type="button" value="Add an input" />
<input name="search" value="" class="searchInput" maxlength="20" />
</form>
Sólo por curiosidad, ¿ha intentado ejecutar la unión cada vez que se crea un control para el objeto específico creado? Buen punto de partida para la resolución de problemas ... – Dutchie432
@ Dutchie432: sí, lo hice - http://jsfiddle.net/6t74T/2/ - mismo resultado. –
@Eric: Tu violín (jsfiddle.net/6t74T/1) funciona para mí en Chrome. Obtengo autocompletar en el cuadro agregado también. – Mrchief