Я пытаюсь заставить jQueryUI AutoComplete запускать динамически созданные элементы ввода формы, но это не работает. Я пытался использовать keyup.autocomplete и keydown.autocomplete в качестве событий связывания в $ .live (), но он привязывается к новым элементам - только к тем, которые уже есть на странице.
Попробуйте код здесь (попробуйте ввести «ava» в первом входе, затем нажмите «Добавить вход» и введите то же самое в новом входе).
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>